アプリでボイスオーバーのサポートを改善しようとしています。私は持っていUISearchBarます。showBookMarksプロパティを に設定しましたYES。そして、次のようにカスタム イメージを設定しました。
[searchbar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
私が抱えている問題は、Voice Over がオンになっていると、ブックマーク アイコンを有効にする方法がないことです。テキストを入力すると、「クリア」アイコンが表示され、期待どおりに選択してアクティブ化できます。しかし、テキストが消去され、ブックマーク アイコンが表示されると、選択できなくなります。どこをタップしても、Voice Over の四角形は常にアイコンを含む検索バー全体を囲みます。
アイコンのaccessibilityLabelとaccessibilityTraitsプロパティを設定してみました。のプロパティを にUIImage設定しました。何も機能していないようです。UIImageisAccessibilityElementYES
UISearchBarブックマーク アイコンをアクセス可能にするために必要な手順を知っている人はいますか?
検索バーの完全なコードは次のとおりです。
UISearchBar *bar = [[UISearchBar alloc] init];
[bar sizeToFit];
bar.autoresizingMask = UIViewAutoresizingFlexibleWidth;
bar.placeholder = @"Search listed items";
bar.autocapitalizationType = UITextAutocapitalizationTypeNone;
bar.autocorrectionType = UITextAutocorrectionTypeNo;
bar.keyboardType = UIKeyboardTypeDefault;
bar.showsBookmarkButton = YES;
bar.text = @"";
UIImage *icon = [UIImage imageNamed:@"bookmarks.png"];
icon.accessibilityLabel = @"Bookmarks";
icon.accessibilityTraits = UIAccessibilityTraitButton;
icon.isAccessibilityElement = YES;
[bar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
[bar setPositionAdjustment:UIOffsetMake(-1, -1) forSearchBarIcon:UISearchBarIconBookmark];
追加情報:
UITableViewController検索バーはで接続された で使用されることに注意してくださいUISearchDisplayController。検索バーは、テーブル ビューの として設定されていますheaderView。
そして、これはすべてコードで行われます。ストーリーボードや xib は関係ありません。