問題タブ [abpersonviewcontroller]

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

ios - iOS ABPersonViewController

タブバーアプリがあり、最初のタブにはいくつかのボタンと、アドレス帳の連絡先情報が入力されたテーブルビューがあります。ABPersonViewControllerセルのアクセサリ ボタンがタップされたときに、モーダル ビューとして使用して連絡先情報を表示しようとしています。連絡先情報を表示することはできますが、モーダル ビューを閉じるためのキャンセル ボタンはありません。誰かが以下のコードを見て、私が欠けているものを教えてもらえますか?

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

ios - UIPopOverControllerの[編集]ボタンでABPersonViewControllerを表示するにはどうすればよいですか?

ABPersonViewControllerに表示されたユニバーサルアプリで連絡先の編集を有効にしようとしていますUIPopoverController。人物は表示されますが、[編集]ボタンはありません。実際には、ユーザーがすでに編集可能なフォームで詳細を表示している場合はそれをお勧めしますが、[編集]ボタンを押してから編集できれば問題ありません。iPhoneでは正常に動作します。誰か助けてくれませんか。

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

iphone - ABPersonViewController のカスタマイズ

ABPersonViewController 内の組み込みの電子メール、電話行に加えて、カスタム UITableViewCell 行を追加することは可能ですか? そのセルに追加、削除などのボタンを追加して、ユーザーをアプリケーションに追加/削除できるようにしたいと思います。教えてください、ありがとう。

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

ios4 - ABPeoplePickerNavigationController を連絡先アプリのように機能させるのは複雑ですか?

ABPeoplePickerNavigationController を Contact App のように機能させようとしていますが、複雑すぎることがわかりました。これは私が間違ったことをしたからなのか、それともただのやり方なのかはわかりません。

最初のタスクは、右バー ボタンの [キャンセル] ボタンを取り除くことです。次のコードは機能しません!

私はしばらく混乱していましたが、Cancel rightBarButtonItem がサブビュー ABPeoplePickerNavigationController に属しているためであることがわかりました。そして、これが理由です。picker.navigationItem.rightBarButtonItem を出力するだけで、常に nil であることを確認するのは簡単です。

そこで、ABPeoplePickerNavigationController.delegate (peoplePickerDelegate ではない) を実装します。しかし、それを実装するにはかなりのトリックが必要でした。それが私の質問です。

したがって、最初にコーディングします。

ここで最初に奇妙な点は、ABPeoplePickerNavigationController に 1 つまたは 2 つのサブビューしか含まれていない場合、ケース 1 とケース 2 の場合、viewController はそれぞれ ABAccountsAndGroupsViewController、ABMembersViewController になることです。

ABAccountsAndGroupsViewControllerABMembersViewControllerは AddressBookUI のパブリック API ではないため、直接アクセスすることはできません (名前を出力して取得しました)。そのため、代わりに viewControllers のカウントを確認します。では、私の最初の質問は、なぜ Apple はそれらを public API にしないのですか?

2 番目の質問は、ABPersonViewController (ケース 3) に関するものです。ABNewPersonViewController の場合、その navigationItem は「キャンセル」と「完了」のUIBarButtonItem を正しく表示できます。私はそこで何もする必要はありません。

しかし、それが ABPersonViewController の場合、「キャンセル」UIBarButtonItem は編集ボタンではなく rightBarButtonItem として表示されます (allowsEditing を YES に設定しても)。そのため、手動で設定する必要があります。しかし、なぜ ??それを行うより良い方法はありますか?

ABPeoplePickerNavigationController を Contact App のように機能させるために、ここに書いたコードよりも良い方法はありますか?

ありがとう!

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

objective-c - 「+」を含む連絡先番号を選択すると、アプリがクラッシュします

私はiPhoneアプリを持っています。ユーザーは連絡先を選択できます。選択すると、ユーザーが電話番号を選択する必要がある別のビューが開きます。

これはうまくいきます。ただし、電話番号にこのような国コードが含まれている+49 ...と、アプリがクラッシュします。

この行で止まります

ただし、ログにはエラー出力はありません。これを修正する方法はありますか?

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

ios - ABPersonViewController がプッシュに表示されない

シナリオは次のとおりです。アプリの連絡先リストからフィルター処理された結果を表示し、アドレス帳にも表示される SearchController があります。

ABPersonViewController をプッシュするコードは、私の didSelectObject:atIndex メソッドにあります。コードは次のとおりです。

このコード ブロックは、標準の TTTableViewController では問題なく動作しますが、私の searchController では動作しません。

ここに画像の説明を入力

ちなみにスクリーンショットはこちら。ご覧のとおり、NavigationController は存在しません。これは Three20 のデフォルトです。アドレス帳アイコンのあるセルは、タップ ジェスチャで ABPersonViewController を起動するアイテムです。

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

objective-c - ABNewPersonViewController を使用してアドレス帳に表示できない

XCode 4.2 を使用しており、アプリケーションの一部でアドレス帳にデータを保存する必要があります。しかし、ボタンをクリックして保存するだけでなく、アドレス帳に表示する必要があります

次のコードを使用しようとしています:

私が書いた.hファイルにフレームaddressBookワークとフレームワークを追加しましたaddressBookUI

私が書いた.mファイルに

goボタンをクリックすると黒い画面が表示されます:これが私が得ているものです

ここに画像の説明を入力

これを行っている理由はありますか?

どうもありがとう!

編集済み

現在のコード:

それでも同じ問題

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

iphone - ABPersonViewController「お気に入りに追加」アクション奇妙な動作

ABPersonViewController連絡先情報を表示するために使用しています。ユーザーが、、、などの標準的なアクションを実行できるようにText messageShare contactたいAdd to favorites

をタップするAdd to favoritesと、連絡先の電話の近くが青い星になります。つまり、連絡先がお気に入りに追加されているようです。しかし、ネイティブの電話アプリでfavoritesは、私の連絡先の電話はありません。また不思議なことに、アプリを再起動して同じ連絡先を閲覧すると、青い星がまだ表示されています。

バックアクションとアプリがバックグラウンドに移行する際にアドレスブックを保存しようとしましたが、結果が得られませんでした。ABPersonViewControllerDelegateshouldPerformDefaultActionForPersonメソッドが発火していません-タッピングまたは発火してAdd to favoritesいるため、理由がわかりません。Text messageShare contact

だから、私が間違っているのは何ですか?Add to favoritesアクションを適切に機能させる方法について何かアイデアはありますか?

助けてくれてありがとう。

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

iphone - ABPersonViewController を使用して iPhone アプリの連絡先表示をカスタマイズする

このアプリケーションは、ABPersonViewController クラスを使用して iPhone の連絡先を表示します。連絡先を表示すると、「テキスト メッセージ」や​​「お気に入りに追加」などの「アクション」ボタンが表示されません。ネイティブの連絡先アプリにアクセスすると、同じ連絡先に対してこれらのボタンが表示されます。

1) ABPersonViewController を使用しているときに同じ「アクション」ボタンが表示されない理由を知っている人はいますか?

2) ABPersonViewController を使用しているときに、表示された連絡先ビューにカスタムの「アクション」ボタンを追加することは可能ですか?

ありがとう、

  • ケン
0 投票する
1 に答える
2970 参照

iphone - ABNewPersonViewController の「完了」ボタンをオーバーライドするにはどうすればよいですか

をサブクラス化するクラスがありABNewPersonViewControllerます。私が理解しているように、ナビゲーション バーの [完了] ボタンをクリックすると、デリゲート メソッド

呼ばれます。ただし、デリゲート メソッドに入る前に、変更はアドレス帳に保存されます。

私が必要とするのは、保存ボタンが押されるとすぐです。UIViewユーザーに尋ねる2つのボタンをロードする必要があります。

  1. 彼が変更を望んでいるかどうか
  2. 行った変更を中止する必要があるかどうか、

ただし、これは変更がアドレス帳に反映される前に行う必要があります。の最初のボタンをクリックするだけでUIView、変更がアドレス帳に保存されます。

2 番目のボタンをクリックすると、ビューが消えて、ロードされた場所からビュー コントローラー クラスに戻る必要がありますUIView

私の質問は、変更がアドレス帳に反映される前に、保存ボタンのクリック時にビューをどのようにロードするかです

カスタム保存ボタンを作成しました

保存ボタン アクションでは、コントロールはデリゲート メソッドに移動します。

コントロールをカスタム メソッドに移動してUIView、編集内容がアドレス帳に保存される前にロードできるようにします。

編集:ロードするとABNewPersonViewController

この強力な参照は既にありますか、そうでなければ、どこに強い参照を含める必要がありますか。

の上

UIViewその上にwithをロードしUIAlertViewています。