Skip to content

Commit fff4d4a

Browse files
committed
修改搜索界面显示方式
1 parent 8d424bf commit fff4d4a

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

ruby-china-ios/Controllers/RootTopicsViewController.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ extension RootTopicsViewController {
7272

7373
func searchAction() {
7474
let vc = SearchViewController()
75-
navigationController?.pushViewController(vc, animated: true)
75+
vc.onCancel = { sender in
76+
sender.dismissViewControllerAnimated(true, completion: nil)
77+
}
78+
79+
let nc = UINavigationController(rootViewController: vc)
80+
self.presentViewController(nc, animated: true, completion: nil)
7681
}
7782

7883
func newTopicAction() {

ruby-china-ios/Controllers/SearchViewController.swift

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,24 +27,27 @@ class SearchViewController: WebViewController {
2727
if let clearButton = searchField.valueForKey("_clearButton") as? UIButton, clearImage = clearButton.imageForState(.Normal) {
2828
view.setImage(clearImage.imageWithColor(searchField.textColor!), forSearchBarIcon: .Clear, state: .Normal)
2929
}
30-
3130
}
3231
return view
3332
}()
3433

34+
var onCancel: (SearchViewController -> ())?
35+
3536
override func viewDidLoad() {
3637
currentPath = searchPath
3738
super.viewDidLoad()
3839
navigationItem.titleView = searchBar
40+
let cancelItem = UIBarButtonItem(barButtonSystemItem: .Cancel, target: self, action: #selector(cancelButtonAction))
41+
navigationItem.rightBarButtonItem = cancelItem
3942
}
4043

4144
override func visitableDidRender() {
4245
super.visitableDidRender()
4346
visitableView.webView?.hidden = currentPath == searchPath
4447
}
4548

46-
override func viewDidAppear(animated: Bool) {
47-
super.viewDidAppear(animated)
49+
override func viewWillAppear(animated: Bool) {
50+
super.viewWillAppear(animated)
4851
if searchBar.text == nil || searchBar.text!.characters.count <= 0 {
4952
searchBar.becomeFirstResponder()
5053
}
@@ -59,6 +62,7 @@ class SearchViewController: WebViewController {
5962
// MARK: - UISearchBarDelegate
6063

6164
extension SearchViewController: UISearchBarDelegate {
65+
6266
func searchBarSearchButtonClicked(searchBar: UISearchBar) {
6367
searchBar.resignFirstResponder()
6468
let text = searchBar.text ?? ""
@@ -68,4 +72,15 @@ extension SearchViewController: UISearchBarDelegate {
6872
reloadVisitable()
6973
}
7074
}
75+
76+
}
77+
78+
// MARK: - action
79+
80+
extension SearchViewController {
81+
82+
func cancelButtonAction() {
83+
onCancel?(self)
84+
}
85+
7186
}

0 commit comments

Comments
 (0)