問題タブ [uisearchdisplaycontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4360 参照

iphone-sdk-3.0 - UITableViewのUISearchBar

アーティスト向けのiPodアプリに似たテーブルビューの動作を模倣しようとしています。これは、右側にセクションインデックスがあり、上部に検索バーがありますが、ビューが表示されると最初は非表示になっているセクションテーブルビューです。

私はsdk3.1.2とIBを使用しているので、単にaUISearchDisplayControllerをNIBにドラッグします。これにより、検索のためにすべてが接続されます。UISearchBar問題は、の最初のセクションにを追加しているために始まります。UITableView正しく理解している場合は、セクションインデックスの検索アイコンに直接タッチして検索バーにジャンプできるようにするために、これを行う必要がありますか?テーブルビューが表示されると、検索バーが表示されますが、サイズが変更され、上部のセクションインデックスの後ろに白いブロックが表示されます。UISearchBar興味深いことに、InterfaceBuilderに表示されるものとは異なる'サラウンドの色は使用されません。

小さなナビゲーションバーとをに追加して、これをテーブルビューセルに追加するためのヒントを見つけましUISearchBarUIView。これは機能しますが、ナビゲーションバーの背景の色は、通常予想される色(灰色)であり、上記のような異なる色ではありません。さらに興味深いことに、検索バーをタップして検索を開始し、[キャンセル]をタップすると、すべてが修正されます。検索バーが同じ場合のテーブルビューセル全体の背景は同じですか?

0 投票する
1 に答える
1852 参照

iphone - UISearchDisplayController を使用すると「フルスクリーン」にスムーズに移行

私が探しているものを説明するために、例を挙げます: 連絡先アプリでは、テーブル ビューの最初の行にある [検索] フィールドをクリックすると、画面全体 (ステータス バーを除く) をスムーズに占有します。ナビゲーション コントローラーのタイトル バー。

編集:これは、TabBarController内にあるNavigationController内にあるUITableView内にあるUISearchDisplayControllerに関連していると確信していることにも気付きました。問題は、検索表示がナビゲーションコントローラーではなく、テーブルビューのサイズのみを占めることです。

UIView アニメーションを使用し、ナビゲーション コントローラーのフレーム全体のサイズを変更して、表示されている画面のビューの上で開始することで、プログラムでこれを模倣しました。下記参照:

これは問題なく機能し、仕事は完了しますが、ハックのように感じます。検索表示コントローラーでこれを行う簡単な方法はありますか? 今後、ディスプレイのサイズが変わったり、Apple タブレットが出てきたりしたら困るハックだと思います。ナビゲーションコントローラーのタイトルバーをスムーズに取り上げます。

0 投票する
2 に答える
4473 参照

iphone - UINavigationBarが非表示のUISearchBar

テーブルの上部に検索バーがあり、非表示のナビゲーションバーがあります。UISearchBarとともに、UISearchDisplayControllerを使用しますUISearchDisplayControllerには、ナビゲーションバーを前面に表示する可能性があります。そのため、検索バーのキャンセルボタンをタップすると、ナビゲーションバーが下に飛びます。この可能性を却下して、ナビゲーションバーが常に非表示になるようにするにはどうすればよいですか?

ありがとう

0 投票する
2 に答える
6964 参照

iphone - UISearchDisplayControllerのsearchResultsTableViewを制御する方法は?

によって使用されるテーブルビューをどのように制御するのか疑問に思いますUISearchDisplayControllerは読み取り専用のプロパティであるため、のsearchResultsTableViewプロパティを上書きすることはできません。UISearchDisplayController

searchResultsTableViewカスタムでオーバーレイしようとしましたUITableView。これは1回だけ機能しますが、2回目の検索を試みるとすぐに、本物searchResultsTableViewが再びトップになります。(つまり、にテキストを入力するsearchBarと、カスタムテーブルビューが一番上に表示され、検索結果が表示されます。その後、キャンセルボタンを押します。これを繰り返すと、カスタムテーブルは表示されずsearchResultTableView、 UISearchDisplayControllerが一番上になります)。

もちろん、なしで試すこともできますがUISearchDisplayController、このクラスの利点を頼りに、をカスタマイズしたいだけですtableView

0 投票する
3 に答える
18393 参照

iphone - NSFetchedResultsControllerおよびUISearchDisplayControllerの使用方法

CoreDataを使用してiPhoneアプリを作成しています。

まず、NSFetchedResultsControllerとUISearchDisplayControllerを一緒に使用して結果をフェッチすることは理にかなっていますか?他に何かお勧めしますか?

NSFetchedResultControllerとUISearchDisplayControllerを組み合わせてかなり長い間試してきました。メソッドのNSPredicateをUIViewControllerのNSFetchedResultControllerに設定することを考えていました(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption。しかし、これはうまく機能していません。

それで、私の問題の解決策を実装する方法について何か考えがありますか?回答や優れたチュートリアルへのリンクを投稿していただき、ありがとうございます。

編集

これが私のコードです。(void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scopeUISearchDisplayDelegateメソッドは、NSFetchedResultControllerで述語を設定する必要があるメソッドを呼び出します。NSFetchedResultControllerのコードも追加しました。

0 投票する
3 に答える
649 参照

iphone - テーブルビューの背景画像を設定すると、テーブルビューのセルがほとんど見えないのはなぜですか?

背景画像をロードするときに、searchResultsTableView セルを完全に表示することができません。セルは非常に弱々しく見え、選択した場合でも背景のイメージ ビューから目立ちません。助言がありますか?

このデリゲート メソッド内で (searchResultsTableView で) 使用するために新しい UITableViewCell を割り当てる以外に、私は何もしていません。

訂正ありがとうございます!

(私はiPhoneシミュレーター3.1.2を使用しています)

0 投票する
5 に答える
8019 参照

iphone - UISearchDisplayController の選択後に UINavigationController の navigationBar を非表示にする

内にネストされた を使用したUISearchDisplayControllerセットアップがあります。セルの選択が行われると、メソッドがトリガーされ、新しいビューが親ナビゲーション コントローラーにプッシュされます。この新しいビューでは、エントリ時にナビゲーション バーが非表示になっている必要があります。UITableViewControllerUINavigationControllerUITableView's didSelectRowAtIndexPath

メソッドでこの行を使用didSelectRowAtIndexPathして、ナビゲーション バーを非表示にします。これは、検索コントローラーを使用せずに行が選択されている場合は正常に機能しますが、検索結果を選択する場合はオーバーライドされます。UISearchDisplayController行が選択された後、navigationBar を非表示に戻す権利があるようです。

setNavigationBarHidden呼び出しをターゲット ビューのメソッドに移動するとviewWillAppear、結果は同様になります。hide 呼び出しを に配置することで機能させることができますがviewDidAppear、これは非常にぎこちないトランジション効果になり、ぴくぴくして場違いに感じます。新しいビューが画面にスライドする前に、ナビゲーションバーを既に非表示にしたいと思います。

ナビゲーションバーの非表示がどこで発生しているか、および/またはこの動作をオーバーライドできる方法を知っている人はいますか?