問題タブ [abpeoplepickerview]
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.
iphone - サブビューを UINavigationController に追加してから、最初のサブビューに戻しますか?
次のように、ABPeoplePickerNavigationController をサブビューとして Navigation Contorller に追加したナビゲーション ベースのアプリがあります。サブビューを に追加する前にビューを保存しましたnavView
。
問題なく動作しますが、PeoplePicker を使い終わったら、前のビューに戻りたいと思います。このコードを使用しましたが、機能しません。
わかりません。サブビューから navView を保存しましたが、元に戻すことはできませんか?
iphone - iPhone ABPeoplePickerNavigationController のメモリ リーク
私は自分のアプリケーションを調べてすべてのメモリ リークを殺していますが、分析ツールは abpeoplepickernavigationcontroller を使用してリークを検出します。
私はそれがコピー方法と関係があることを理解していますか?しかし、書き込み時にどこでリリースするかはわかりません。
基本的に、モーダル ビューを表示し、電話番号を選択して、テキスト フィールドにドラッグする必要があります。ここに私のコードがあります
ありがとう
objective-c - ABPeoplePickerNavigationControllerを使用してアドレス帳の複数のエントリを選択する方法
次のアクションに進む前に、ユーザーがiPhoneアドレスブックから複数のエントリを選択できるようにする必要があります。
現在、ABPeopleNavigationControllerを使用すると、一度に1つのエントリしか選択できません。複数の選択を許可する方法はありますか?つまり、[完了]ボタンをクリックする前に、選択するすべての名前の横にチェックマークを追加します
objective-c - 名簿に特定のユーザーの電話番号が存在するかどうかを確認する方法
次のコードを使用して、名簿からユーザーの電話番号を取得しています
この問題は、ユーザーがアドレスブックに電話番号を持っていない場合に発生し、エラー「EXC_BAD_ACCESS」エラーが発生します。私の質問は、そのユーザーの電話番号が存在するかどうかをどのように確認できますか?そして、値が存在する場合にのみ、値へのアクセスに進みますか?
iphone - ABPeoplePickerNavigationController 大きな画像を保存するには長い時間がかかります
ABPeoplePickerNavigationController を使用して、iPhone の連絡先をアプリにインポートします。最近、サムネイル画像を保存するだけでなく、画像全体も保存することにしました。iPad を使用していて、トリミングの異なる大きな画像が必要になる可能性がある場合は、これが最適な方法だと思います。ただし、インポート後に新しい連絡先を保存する場合、写真のサイズによっては保存に時間がかかります。写真がなく、すぐに保存されるので、写真のサイズと、その写真で何をしているかに関係していることはわかっています。誰かが私が間違っていることを指摘できる場合に備えて、関連するコードを以下に示します...
編集: saveImage コードを次のように変更したところ、「異なるコンテキスト内のオブジェクト間に関係 'person' を確立しようとする不正な試み」というエラーが表示されました。
}- (void)addControllerContextDidSave:(NSNotification*)saveNotification {
}
ios4 - ABPeoplePickerNavigationController を連絡先アプリのように機能させるのは複雑ですか?
ABPeoplePickerNavigationController を Contact App のように機能させようとしていますが、複雑すぎることがわかりました。これは私が間違ったことをしたからなのか、それともただのやり方なのかはわかりません。
最初のタスクは、右バー ボタンの [キャンセル] ボタンを取り除くことです。次のコードは機能しません!
私はしばらく混乱していましたが、Cancel rightBarButtonItem がサブビュー ABPeoplePickerNavigationController に属しているためであることがわかりました。そして、これが理由です。picker.navigationItem.rightBarButtonItem を出力するだけで、常に nil であることを確認するのは簡単です。
そこで、ABPeoplePickerNavigationController.delegate (peoplePickerDelegate ではない) を実装します。しかし、それを実装するにはかなりのトリックが必要でした。それが私の質問です。
したがって、最初にコーディングします。
ここで最初に奇妙な点は、ABPeoplePickerNavigationController に 1 つまたは 2 つのサブビューしか含まれていない場合、ケース 1 とケース 2 の場合、viewController はそれぞれ ABAccountsAndGroupsViewController、ABMembersViewController になることです。
ABAccountsAndGroupsViewControllerとABMembersViewControllerは AddressBookUI のパブリック API ではないため、直接アクセスすることはできません (名前を出力して取得しました)。そのため、代わりに viewControllers のカウントを確認します。では、私の最初の質問は、なぜ Apple はそれらを public API にしないのですか?
2 番目の質問は、ABPersonViewController (ケース 3) に関するものです。ABNewPersonViewController の場合、その navigationItem は「キャンセル」と「完了」のUIBarButtonItem を正しく表示できます。私はそこで何もする必要はありません。
しかし、それが ABPersonViewController の場合、「キャンセル」UIBarButtonItem は編集ボタンではなく rightBarButtonItem として表示されます (allowsEditing を YES に設定しても)。そのため、手動で設定する必要があります。しかし、なぜ ??それを行うより良い方法はありますか?
ABPeoplePickerNavigationController を Contact App のように機能させるために、ここに書いたコードよりも良い方法はありますか?
ありがとう!
ios - GroupMeの連絡先| 住所録
GroupMeContactsTableViewController
のようなものを作りたいです。すべてのアドレス帳の連絡先と、どの連絡先がGroupMeユーザーであるかが表示されます。
ABPeoplePickerNavigationControllerはカスタマイズできないようです。
ABAddressBook
したがって、 &を使用して名簿の連絡先にアクセスする場合ABPerson
、カスタムでそれらを表示するための最良の方法は何UITableViewController
ですか?すべての名簿の連絡先をにロードするだけ
NSArray
では、メモリが失われる可能性があります(電話に何千もの名簿の連絡先がある人を知っています)。私はコアデータを使用することに慣れてNSFetchedResultsController
おり、このような大規模な結果セットに使用しています。ただし、そのためにはABPerson
、Core Dataでモデルを作成する必要があります。これは簡単ですが、アドレス帳との同期を維持することは困難で、ちょっとばかげているようです。GroupMeの連絡先をアドレスブックの連絡先に関連付ける/リンクするための最良の方法は何ですか?
このGroupMeスタイルのインターフェイスを再作成するときに知っておくべき/考慮すべきことは他にありますか?
ios - peoplePickerDelegate がデリゲートのアドレスを正しく取得できないのはなぜですか?
シナリオは、アドレス帳を呼び出したいビューが複数あるというものです。各ビューでデリゲートのコードを複製しないように、アプリ デリゲートのヘッダーと .m ファイルにコードを配置しましたが、2 つのそれぞれのアプリの下部にある「@interface AddressBookDelegate」と「@implementation AddressBookDelegate」を使用します。デリゲート・フィエ-
と
次に、私の見解では、次のコードがあります。
アドレス帳はすべてのビューで正常に表示されます。しかし、アドレス帳の [キャンセル] ボタンなど、デリゲートを呼び出すユーザー アクションを実行すると、クラッシュします。
-[MyprogAppDelegate peoplePickerNavigationControllerDidCancel:]: 認識されないセレクターがインスタンスに送信されました
警告なしでクリーンにコンパイルされます。
ビュー自体と物理的に同じファイルにない場合、アドレス デリゲート コードに接続するために peoplePickerDelegate を接続するにはどうすればよいですか? どうも。
追記: デバッガーを使用して途中で停止した場合
ビューのコードでは、addressBookDelegate のアドレスが、予想していた AddressBookDelegate ではなく、MyprogAppDelegate のアドレスであると記述されていることがわかります。これは、App Delegate ファイル内で、アドレス帳のデリゲート コードへの置換がオフになっていると思わせます。
AddressBookDelegate Cancel Delegate コードが AddressBookDelegate に 1000 バイトあるとすれば、私のアプリは実際には 1000 バイトのコードを MyprogAppDelegate に「入力」しているため、クラッシュします。そのため、どういうわけか、AddressBookDelegate のアドレス指定を正しく設定していません。とにかくそれは私の考えです...
objective-c - 電話番号を既存の連絡先に追加する
このメソッドが呼び出されるピッカーで人を選択した後、AddressBook フレームワークを使用して既存の連絡先に電話番号を追加しようとしています。
ただし、この後、その番号は個人の記録に追加されません。私は何を間違っていますか?
objective-c - ストーリーボード セグエを使用して ABPeoplePickerNavigationController を表示する
ボタンがタッチされたときに People Picker を表示したい新しいプロジェクトがあります。
だから私は識別子UIButton
を持つジェネリックにセグエを持っています。この ViewController のクラスを に設定します。UIViewController
showContacts
ABPeoplePickerNavigationController
ルート ViewController には、ピッカーを初期化するための次のコードがあります。
シミュレータ アドレス帳にテスト用の連絡先を追加しましたが、結果は次のようになります。
ピッカーなし http://i.minus.com/jbwUQyLr36ChHo.png
メソッドで行うことと非常によく似た次のコードを使用するとprepareForSegue:
、 を介してピッカーを表示できIBAction
ます。
結果:
ピッカー http://i.minus.com/jeEVeIBmfIYdR.png
People ピッカーが表示されない理由はよくわかりません。