我有这样的问题:Hide UISearchBar Cancel Button
我已将[{1}}和UISearchController
分组,并覆盖UISearchBar
中的方法layoutSubviews
。
如何在自定义UISearchBar
中使用自定义searchBar
覆盖UISearchBar
媒体资源?
更新1
要使用UISearchController
中的自定义UISearchBar
实现属性:
MyUISearchController
和
@property(nonatomic, strong, readonly) UISearchBar *searchBar;
但@synthesize searchBar=_searchBar;
- (UISearchBar *)searchBar {
return [MySearchBar new];
}
无论如何都使用默认UISearchController
。
更新
在searchBar
档案中:
h
在@interface MySearchController : UISearchController <UITableViewDelegate, UITableViewDataSource>
档案中:
m
答案 0 :(得分:3)
UISearchController
的searchBar是一个计算属性,您必须存储自定义searchBar并在调用searchBar
时返回它。
以下是Swift中的一些代码:
var mySearchBar = MySearchBar()
override var searchBar: UISearchBar {
get{
return mySearchBar;
}
}
答案 1 :(得分:1)
为了自定义searchBar属性,首先通过子类化搜索栏(UISearchBar)来开始自定义过程。然后,在搜索控制器的子类中使用此自定义搜索栏,最后在ViewController类中使用它们。
答案 2 :(得分:0)
import UIKit
class MySearchController: UISearchController {
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
searchBar.showsCancelButton = false
}
}
答案 3 :(得分:0)
请参阅本教程,了解如何在Swift中自定义UISearchBar:
目标 - C :在ViewDidLoad中添加代码。您已经声明了UISearchBar
[searchBar setShowsCancelButton:NO];
Swift :在ViewDidLoad中
searchBar.showsCancelButton = false