多分これは他の誰かを助けるでしょう。多くの検索を行った後、To: フィールドのみを活用する方法が見つかりませんでした。アクションと動作をコピーするために、独自の一連のビュー コントローラーをコーディングすることになりました。次のクラスを作成しました。
- 連絡先 (名、姓、電子メールの文字列プロパティ)
- 連絡先 (さまざまな形式の連絡先オブジェクトの NSArray を作成するクラス メソッド)
- ContactFormViewController (メール作成者の To: フィールドに類似)
- ContactTableViewController (スクラバーを持つすべての連絡先のリストを表示します)
Contacts クラス内で、ABAddressBookRequestAccessWithCompletion を使用して、Contact* オブジェクトの NSArray を作成し、作成した配列を並べ替えます。
次に、メール コンポーザーと同じように、2 つのビュー コントローラーを用意します。
最初のビュー コントローラーには、メール アドレスまたは名前を入力するための UITextField、入力文字列に一致する連絡先を表示するための UITableView、および連絡先がテーブルで選択されるたびに UIButtons を追加する UIScrollView があります。UITextView の各 editChanged イベントは、データソースを UITableView に作成/更新します。さらに 2 つの UIButtons もあります。1 つは手動で入力した電子メール アドレスを選択した連絡先のリストに追加するためのもの (このボタンは、テキスト入力が emiail 正規表現と一致する場合にのみ表示されます) であり、もう 1 つは、ユーザーが連絡先を入力するよりも参照する場合に UITableViewController を表示するためのものです。結果を選択します。