アプリでVoice Overサポートを改善しようとしています。私にはUISearchBar
があります。 showBookMarks
プロパティをYES
に設定しました。UISearchBarのブックマークアイコンにアクセスするには?
[searchbar setImage:icon forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
問題は、Voice Overをオンにするとブックマークアイコンを有効にすることができないことです。テキストを入力すると、「クリア」アイコンが表示され、期待どおりに選択して有効にすることができます。しかし、テキストが消去され、ブックマークアイコンが表示されたら、それを選択することはできません。どこにタップしても、ボイスオーバー矩形は常にアイコンを含む検索バー全体を囲みます。
UIImage
のアイコンのaccessibilityLabel
とaccessibilityTraits
のプロパティを設定しようとしました。 UIImage
のisAccessibilityElement
プロパティをYES
に設定しました。何も動作していないようです。
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];
追加情報:
私は検索バーがUISearchDisplayController
に接続されているUITableViewController
で使用されていることを言及する必要があります
はここで検索バーの完全なコードです。検索バーがテーブルビューのheaderView
として設定されています。
これはすべてコードで行われます。ストーリーボードやxibは関係ありません。
@downvoter downvoteを説明してください。私が持っていた問題の正確な答えを投稿しました。この場合、Voice Ovetを正しく動作させるためには、これは文書化されていません。 – rmaddy
UISearchBarIconBookmarkのサイズが40x29pxになるはずの場所を説明してください。最小サイズ、最大サイズ、正確なサイズ、または正確な比率ですか?私は他のいくつかのサイズで動作させることができましたが、どれが推奨されているのか分かりません。 –
試行錯誤して見つけました。私の元のサイズは機能しませんでした。私は指定されたサイズを試したとき、それは働き始めた。私は他の組み合わせをテストしなかったので、他のサイズも動作する可能性は確かです。動作する他のサイズが分かっている場合は、他のサイズが役に立つように投稿してください。 – rmaddy