【发布时间】:2012-02-28 10:55:58
【问题描述】:
我有一个非常简单的问题:如何在 IOS5 中禁用 UISearchBar 以避免用户交互?我找不到 setEnabled 或类似的东西...
谢谢!
【问题讨论】:
标签: ios objective-c xcode ios5 uisearchbar
我有一个非常简单的问题:如何在 IOS5 中禁用 UISearchBar 以避免用户交互?我找不到 setEnabled 或类似的东西...
谢谢!
【问题讨论】:
标签: ios objective-c xcode ios5 uisearchbar
Swift 4 的扩展,提供启用和禁用UISearchBar 的功能。随意调整您认为合适的 alpha 值,因为使用的配色方案会影响结果。
extension UISearchBar {
func enable() {
isUserInteractionEnabled = true
alpha = 1.0
}
func disable() {
isUserInteractionEnabled = false
alpha = 0.5
}
}
然后禁用搜索栏:
searchBar.disable()
启用:
searchBar.enable()
【讨论】:
对于 Swift 3:
self.searchController.searchBar.isUserInteractionEnabled = true
或者,如果您仍想检测用户交互,您可以这样做以禁用 UISearchBar 内的 UITextField:
(self.searchController.searchBar.value(forKey: "searchField") as! UITextField).isEnabled = false
【讨论】:
试试这个
// Normal
self.searchDisplayController.searchBar.userInteractionEnabled = YES;
self.searchDisplayController.searchBar.translucent = YES;
self.searchDisplayController.searchBar.searchBarStyle = UISearchBarStyleDefault;
self.searchDisplayController.searchBar.backgroundColor = [UIColor clearColor];
// Faded out
self.searchDisplayController.searchBar.userInteractionEnabled = NO;
self.searchDisplayController.searchBar.translucent = NO;
self.searchDisplayController.searchBar.searchBarStyle = UISearchBarStyleMinimal;
self.searchDisplayController.searchBar.backgroundColor = [UIColor lightGrayColor];
【讨论】:
lightGrayColor似乎有点极端; [UIColor colorWithWhite:0.85 alpha:1] 周围的更多内容对我来说很合适
除了设置用户交互之外,我还调整了 alpha 值,以使外观独一无二。
searchbar.alpha = .75;
【讨论】:
你试过了吗:
[searchBar setUserInteractionEnabled:NO];
?
【讨论】:
searchBar.userInteractionEnabled = false