【问题标题】:Disable UISearchBar禁用 UISearchBar
【发布时间】:2012-02-28 10:55:58
【问题描述】:

我有一个非常简单的问题:如何在 IOS5 中禁用 UISearchBar 以避免用户交互?我找不到 setEnabled 或类似的东西...

谢谢!

【问题讨论】:

    标签: ios objective-c xcode ios5 uisearchbar


    【解决方案1】:

    Swift 4 的扩展,提供启用和禁用UISearchBar 的功能。随意调整您认为合适的 alpha 值,因为使用的配色方案会影响结果。

    extension UISearchBar {
        func enable() {
            isUserInteractionEnabled = true
            alpha = 1.0
        }
    
        func disable() {
            isUserInteractionEnabled = false
            alpha = 0.5
        }
    }
    

    然后禁用搜索栏:

    searchBar.disable()
    

    启用:

    searchBar.enable()
    

    【讨论】:

      【解决方案2】:

      对于 Swift 3:

      self.searchController.searchBar.isUserInteractionEnabled = true
      

      或者,如果您仍想检测用户交互,您可以这样做以禁用 UISearchBar 内的 UITextField

      (self.searchController.searchBar.value(forKey: "searchField") as! UITextField).isEnabled = false
      

      【讨论】:

        【解决方案3】:

        试试这个

        // 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] 周围的更多内容对我来说很合适
        【解决方案4】:

        除了设置用户交互之外,我还调整了 alpha 值,以使外观独一无二。

        searchbar.alpha = .75;
        

        【讨论】:

          【解决方案5】:

          你试过了吗:

          [searchBar setUserInteractionEnabled:NO];
          

          ?

          【讨论】:

          • 很好的答案,这是 Swift:searchBar.userInteractionEnabled = false
          猜你喜欢
          • 2011-05-19
          • 2018-08-30
          • 2020-01-22
          • 2022-01-20
          • 2011-08-31
          • 1970-01-01
          • 1970-01-01
          • 2016-09-21
          • 2017-04-17
          相关资源
          最近更新 更多