2

UISearchBar を作成し、inputAccessoryView にビューを挿入する必要がありますが、コンパイラから次のエラーが表示されます。

readonly プロパティへの代入

なぜこれが起こるのですか?:

@property(nonatomic,retain)IBOutlet UISearchBar *searchbar;

@property (retain, nonatomic) IBOutlet UIView *keyView;

 self.searchbar.inputAccessoryView = keyView;
4

2 に答える 2

5

SearchBarにはUITextViewがあり、少し汚い方法でそれを探して、inputAccessoryViewを設定できます。これがうまくいくかどうかはわかりませんが、一見の価値があります

UITextField *searchBarField = nil;
for (UIView *subView in searchBar.subviews) {
    if ([subView conformsToProtocol:@protocol(UITextInputTraits)]) {
        searchBarField = (UITextField *)subView;
        searchBarField.inputAccessoryView = ...
        break;
    }
}
于 2012-08-29T14:45:15.903 に答える
0

このプロパティは読み取り専用であるため、「UIView」を単純に割り当てることはできません。このプロパティにアクセスする方法については、UISearchBar inputAccessoryView を参照してください。検索バーをサブクラス化する必要があります。

于 2012-08-29T14:43:48.207 に答える