iPhone 用のカスタム AddressBook (ABPeoplePickerViewController) についてサポートが必要ですか? すべての連絡先を含む配列を作成し、名前と番号だけをテーブルビューのセルに引っ張って表示したいと考えています.いくつかの連絡先を選択し、メッセージを開いて、カスタムメッセージを含むテキスト/SMSを送信します..
WhatsApp メッセンジャーは素晴らしい例です。[設定]、[友達に教える]、[メッセージ] の順に移動すると、その外観が欲しいです!
下の[送信]ボタンと[キャンセル]ボタン、およびサブタイトルスタイルのテーブルビューのcell.textLabelの名前とcell.detailTextLabelの番号も必要なので、カスタムにする必要があります。
では、アドレス帳から配列 (contactsName、contactsNumber) に詳細を取得するにはどうすればよいでしょうか? 前もって感謝します!これが私のコードです:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
cell.textLabel.text = [contactsName objectAtIndex:indexPath.row];
cell.detailTextLabel.text = [contactsNumber objectAtIndex:indexPath.row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
}
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker
{
[self dismissViewControllerAnimated:YES completion:^{ NSLog(@"Message controller has been canceled"); }];
}
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
NSString *name = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonFirstNameProperty);
NSString *number = (__bridge_transfer NSString*)ABRecordCopyValue(person, kABPersonPhoneProperty);
NSLog(@"Name: %@ Number: %@", name, number);
return NO;
}
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
{
return NO;
}
- (void)openSMScontroller {
MFMessageComposeViewController *smsView = [[MFMessageComposeViewController alloc] init];
smsView.messageComposeDelegate = self;
smsView.recipients = [NSArray arrayWithArray:contactsNumber];
smsView.body = @"Check out this awesome app!";
[self presentModalViewController:smsView animated:YES];
}