問題タブ [uisearchcontroller]

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 投票する
15 に答える
44468 参照

ios - テーブル ヘッダー ビューで UISearchController によって表示される UISearchBar がアクティブなときにアニメーションが遠すぎる

UISearchController を使用して、テーブルビューのヘッダー ビュー内に検索バーを表示しています。

(そうしないと、ヘッダービューが最初の行と重なるため、 tableHeaderView プロパティを2回設定する必要があります。 SO に関するいくつかの回答を参照してください)

これは、非アクティブ時の完全な位置での外観です。 正しい位置にある非アクティブな検索バー

検索バーは、アクティブなときにそのままにしておく必要があります。ナビゲーションバーを非表示にするために上に移動したくありません。しかし、予期せず下にアニメーション表示され、ナビゲーション バーとの間に空白が残ります。

検索バーが下に移動しすぎているアニメーションを示すスクリーンショット

これは奇妙な検索バーのアニメーションの ビデオです

UISearchController とは別に検索バーを使用すると、アクティブになったときに同じ動作が表示されません。

私の提示ビューコントローラーにはself.definesPresentationContext = YES;とがself.navigationController.navigationBar.translucent = YES;あり、IB では「エッジの拡張」ボックスはどれもアクティブではありません (すべて、読み回して検索プレゼンテーションをオフにする可能性があるようです)。

検索バーのアニメーションを停止する方法を知っている人はいますか?

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

swift - リターンキーをタッチしたときに検索結果を更新するSwiftの方法

私は Swift を使用して検索ビューを作成しUISearcheControllerUISearcheResultUpdating

そして私は結果を更新しますfunc updateSearchResultsForSearchController

しかし、それは私が文字ごとに入力すると常に結果が更新されるため、このアプリは遅くなります。この結果は、return キーを入力したときにのみ更新されますか?

0 投票する
0 に答える
269 参照

ios8 - UISearchController を新しい (iOS8) UISplitviewController に組み込む方法

ユニバーサル アプリ用の Xcode 6 の UISplitViewController テンプレートに基づいてシンプルなアプリを構築しようとしています (Storyboard と CoreData/NSFetchedResultsController を使用)。このアプリは、MasterViewController の検索バーも提供する必要があります。残念ながら、Xcode 6 は UISearchBar/UISearchController コンボ用の InterfaceBuilder 要素を提供していません (廃止された UISearchBar/UISearchDisplayController のみ)。

iOS 開発者ライブラリでは、Apple が「UISearchController を使用したテーブル検索」の例を提供していますが、これは UISplitViewController に基づいておらず、iPhone のみをサポートしています。

私の問題は、すべての状況で正しい ViewController に詳細ビューを表示できないことです。Apple サンプル プロジェクトから UISplitViewController テンプレートにアプローチを移そうとしました。この場合、別の UITableViewController サブクラス (ResultsTableViewController) で検索結果を表示し、これを UISearchController の searchResultsController として使用することをお勧めします。このセットアップ用の InterfaceBuilder でシーンを作成できなかったため、これらを手動でコードに追加する必要がありました。

ResultsTableViewController のテーブル セルをクリックすると、問題が発生します。この vc は InterfaceBuilde のシーンの一部ではなく、SplitViewController 設定に正しく追加する方法がわかりません。最大の問題は、iPhone 6 Plus と UISplitViewController の奇妙な動作です。縦向きモードでは、iPhone のように動作し、SplitViewController を持っていないようで、DetailViewController をプッシュする NavigationController のみを使用します。ランドスケープ モードでは、SplitViewController を備えた iPad のように動作しますが、SplitViewController の 2 番目の ViewController を取得し、これに DetailViewControllerchildControllersをプッシュする必要がありました。

ポートレート モードで開始してランドスケープ モードに切り替えると、DetailViewController がすべてなくなり、DetailVC があるべき場所にグレーのスペースが表示されます。縦向きモードにすると、DetailViewController が SplitViewController からキックされるようです (または、SplitViewController が iPhone の NavigationController セットアップのためにまったくキックされます)。ランドスケープに戻すと、SplitViewController が再度初期化されますが、DetailViewController が適切に初期化されません。

ユニバーサル UISplitViewController に検索機能を正しく実装する方法に関するテンプレートや提案はありますか?

乾杯ビョルン

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

ios - UITableViewController 内の UISearchController — 行を選択できず、テーブル ビューがグレー表示されます

UISearchController を UITableViewController 内で動作させようとしています。私はすべてをプログラムで作成しています (つまり、インターフェースビルダーはありません)。検索中にテーブルセルを選択できないことを除いて、ほとんどすべてが正常に機能しています(-tableView:didSelectRowAtIndexPath:呼び出されません)。

ただし、これがデリゲートに関連する問題や、そのメソッドが呼び出されない別の一般的な原因であるとは思いません。検索中に、検索結果を含むテーブル ビューがグレー表示されます (つまり、非アクティブ)。そのため、セルを選択できないと思います。

私の考えでは、UISearchBar がファーストレスポンダーとして動かなくなったのですが、そのステータスを辞任したり、テーブル ビューを強制的にファーストレスポンダーにしようとしたり、さまざまな方法を試しましたが、いずれも悲惨な結果でした。

これが私のUITableViewControllerサブクラスからの適切なコードです:

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

ios - UILabel は、2 回目に attributedText が設定されたときにテキスト属性を失います

iOS 8 で導入された UISearchController API を使用して検索を実装しています。検索結果コントローラーと検索結果アップデーターの両方として機能する UITableViewController サブクラスがあります。このコントローラーは、検索結果を表形式で表示する役割を果たします。

searchBar のテキストが変更されるたびに、検索 API は-updateSearchResultsForSearchController:テーブル ビュー コントローラーで UISearchControllerUpdating メソッドを呼び出します。このメソッドでは、新しい検索文字列に基づいて検索結果を更新してから、 を呼び出します[self.tableview reloadData]

また、結果のリストで検索文字列の出現箇所を強調表示しようとしています。テーブル ビュー セルの attributedText を、ハイライトを含む属性付き文字列に設定することで、これを実現します。

次の動作が見られます。

  1. 最初のキーストロークの後、ハイライトが正しく表示される
  2. 2 回目のキーストロークの後、すべてのハイライトが消えます。
  3. セルの文字列の先頭に強調表示された領域がある場合、文字列の残りの部分であっても、すべての強調表示が表示されます

いくつかの試行錯誤の後、これはテーブルビューやセルとは何の関係もないように見え、すべてUILabelと関係があることがわかりました。attributedText プロパティが 2 回目に設定されると、ラベルは常にハイライトを失うようです。本当に一度だけ設定できますか?

私のコードの一部

テーブル ビュー データ ソース:

テキストのハイライトを生成するメソッド:

強調表示する範囲を見つけるメソッド:

何か案は?ありがとう!

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

swift - UISearchController をどのように却下しますか? (iOS 8 以降)

これは些細なことに違いありませんが、プログラムで UISearchController を閉じる方法がわかりませんか?

UISearchDisplayController ではなく、新しい UISearchController (2014 年に iOS 8 で導入) であることに注意してください。

これまでのところ、ここに私が持っているものがあります

しかし、まだキャンセルボタンがあり、それを取り除くことはできません。

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

ios - UISearchController は何も表示しません

に問題があります。これは、検索されたユーザーを表示するために使用される " " ファイルUISearchControllerで宣言されています。すべてはタイトルにあります。「 」ファイルFindUsersTableViewController.hのコードの重要な部分について詳しく説明します。FindUsersTableViewController.m

UISearchController は何も表示しません...誰もそれを修正する方法を知っていますか?