我知道之前有人问这个,我找到了这个解决方案:
for (UIView *subview in searchBar.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
UIView *bg = [[UIView alloc] initWithFrame:subview.frame];
bg.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"top-bar.png"]];
[searchBar insertSubview:bg aboveSubview:subview];
[subview removeFromSuperview];
break;
}
}
我只是不确定它是否包含苹果拒绝的某些私有API,还是有更好的方法来执行此操作?
答案 0 :(得分:1)
Apple不鼓励使用私人无证件api的人。
但您仍然可以在应用程序中使用子类化功能。我使用过这种子类UISearchBarBackground。 Apple接受了我的实时应用程序。因此,在您的应用程序中使用上述代码没有问题。