我需要自定义UISearchBar:
Apple没有提供API。但是,这是可能的解决方案之一:
for(UIView *subView in _searchBar.subviews){
if([subView isKindOfClass:UITextField.class]){
UITextField *searchField = (UITextField*)subView;
searchField.textColor = [UIColor darkGrayColor];
UIImage *image = [UIImage imageNamed: @"loop.png"];
UIImageView *iView = [[UIImageView alloc] initWithImage:image];
searchField.leftView = iView;
}
}
完美无缺。但我担心苹果可能拒绝该应用程序。我知道这不是私有API,但也不是完全公开的。
有没有人在App Store中有这样的代码?
答案 0 :(得分:3)
您没有调用任何私有API,因此我几乎可以肯定此代码将通过AppStore验证。请注意,您的代码不是未来证明,Apple可能会更改内部UISearchBar
实施,而您的代码可能停止工作。最可靠的解决方案是子类UITextField
并推出自己的代码。
话虽如此,这不太可能成为一个问题,并且可以肯定你的代码会起作用。
答案 1 :(得分:1)
在大多数情况下,它不会被苹果检测到。 (太多的应用程序使用类似的方法来修改UIControl) 但是你需要在运行此代码之前检查iOS版本,苹果开发团队可能会在新的iOS版本中更改这些内部结构。
if (ios > 5.0 && ios < 6.0 )
// your modifies here
else
// ....