UITextField * textField= self.textField;
textField.background = [UIImage resizeableImageWithCapInsets2:UIEdgeInsetsMake(0, 7, 0, 7) withName:@"Search-Field"];
簡單的代碼。爲什麼此代碼不再適用於7.1?
2014-03-13 09:31:02.099 isikota[179:60b] -[BGSearchBar setBackground:]: unrecognized selector sent to instance 0x17566b20
2014-03-13 09:32:17.720 isikota[179:60b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[BGSearchBar setBackground:]: unrecognized selector sent to instance 0x17566b20'
這沒有意義。顯然,背景是文本框
的財產,我發現這個問題是我用這個:
-(UITextField *) textField
{
UIView * textFieldView = [self findASubViewWithProtocol:@protocol(UITextInputTraits)];
return (UITextField *)textFieldView;
}
這似乎不再得到的UISearchBar一個文本框的方式。那麼怎麼做?
我認爲這個問題是因爲7.1 [UISearchBar conforms to UITextInputTraits]
而且我不知道爲什麼
return (UITextField *)textFieldView;
不返回運行時錯誤,因爲現在textFieldView不再的UITextField
的一個子類
錯誤說'textField'是一個'BGSearchBar'。 – Pang
我知道。看起來像7.1 UIView * textFieldView = [self findASubViewWithProtocol:@protocol(UITextInputTraits)];返回uisearchbar。 –