美文网首页
关于UISearchBar外观的一点Bug级别的设置

关于UISearchBar外观的一点Bug级别的设置

作者: 不辣先生 | 来源:发表于2019-02-14 17:33 被阅读8次

需求更改输入框空白处的背景色,并没有直接可配置接口
思路:通过遍历控件的子空间找到相应的view改变其背景色;

    searchBar.backgroundImage = [UIImage new];
    searchBar.placeholder = @"请输入姓名搜索";
    searchBar.barTintColor = [UIColor whiteColor];
    searchBar.searchBarStyle = UISearchBarStyleMinimal;
    UIView *searchTextfField = [[[searchBar.subviews firstObject] subviews] lastObject];
    searchTextfField.subviews[0].backgroundColor = [UIColor colorWithHexString:@"#4F4F53"];

这里之所以说是bug级别的设置就是因为UIsearchBar的searchBarStyle 默认是UISearchBarStyleDefault,默认style设置找到的子控件view的背景色无效……fuck
必须修改为UISearchBarStyleMinimal这个style才有效,坑爹吧,总感觉苹果早晚有一天升级这个骚操作就不行了,这就像很多没有提供可设置接口,但是可以通过kvc赋值的属性一样,在苹果iOS系统版本更迭中就会变了或者消失了,因为这tm都是捷径,苹果官方也没告诉你可以这么弄……

相关文章

网友评论

      本文标题:关于UISearchBar外观的一点Bug级别的设置

      本文链接:https://www.haomeiwen.com/subject/ymfyeqtx.html