iOS 7 无法更改搜索栏背景图片

标签 ios ios7 ios6 uisearchbar uisearchdisplaycontroller

我无法在 IOS 7 中自定义搜索栏。

我使用以下代码来更改 IOS6 中的搜索栏背景

for (UIView * v in sarchBar.subviews)
{
    if ([v isKindOfClass:NSClassFromString(@"UISearchBarTextField")])
    {
        v.superview.alpha = 0;
        UIView *containerView = [[UIView alloc] initWithFrame:sarchBar.frame];
        [containerView addSubview:v];
        [self.view addSubview:containerView];
        [[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor whiteColor]];
        [[UISearchBar appearance] setSearchFieldBackgroundImage:[UIImage imageNamed:@"search"] forState:UIControlStateNormal];
    }
}

其次,如果我自定义搜索 Controller 以删除搜索栏中的默认取消按钮,它在 IOS6 中工作正常,但使用自定义搜索 Controller ,它无法在 IOS7 中搜索。

最佳答案

如果您改用文本字段并更改背景图像会更好,因为它是子类并继承相同的属性。

关于iOS 7 无法更改搜索栏背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23218217/

相关文章:

ios - 构建 XCTest UI 测试套件的最佳实践是什么?

ios - 如何检查文件是否在 objective-c 中成功保存

ios7 - 图标、 Assets 目录和 Info.plist 混淆

ios6 - 呈现模态视图 Controller ios6 时防止状态栏隐藏

ios - 程序(应用程序)未使用 xcode 在 iPhone 上运行

ios - 快速扩展Tableview单元格如何调整高度

ios - 如何识别 UITextField 中的攻击性词语?

ios - 在 UITableViewCells 的 cellForRowAtIndexPath 方法中实现多态性

ios - 当应用程序在后台时,AVAssetReader 将无法正确初始化,因此无法开始阅读

objective-c - 如何在 iOS 中关闭 TextDidChange 事件?