AddressBookUI APIをiOS 5アプリケーションに統合して、選択したコンテンツをテーブルビューに表示しようとしています。 AddressBook Pickerを実装して、ユーザーがアドレス帳から人を選択すると、TableView内のセルのラベルに値を設定します。選択した人物の画像を同じセルに表示することができ、デフォルトの画像がない場合はデフォルトの画像が表示されるようにしたいと思います。iOSアドレスブックイメージをUITableViewCellに設定する
名前と画像データの両方を同じTableViewセルに保存する方法を頭に浮かべることはできません。
どのように私はこれを達成するかもしれないかの提案があります。私は開発者のドキュメントを読んで、私はABPersonCopyImageDataWithFormatコマンドを使用する必要があることを知っています。私はそれをテーブルビューのセルに実装するようには思えません。ここで
は、私がこれまで持っているコードの抜粋です:
// Store the name into memory when the user selects, then dismiss the view.
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
{
NSString *selectedPerson = (__bridge NSString *)ABRecordCopyCompositeName(person);
[people insertObject:selectedPerson atIndex:0];
if (ABPersonHasImageData(person) == TRUE) {
NSLog(@"Person has an image!");
} else {
NSLog(@"Person does not have an image.");
}
[self dismissModalViewControllerAnimated:YES];
[self.tableView reloadData];
return NO;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
PartyCell *cell = (PartyCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell"];
cell.backgroundView = [[GradientView alloc] init];
cell.personLabel.text = [people objectAtIndex:indexPath.row];
cell.personImage.image = [UIImage imageNamed:@"missing.png"]; // THIS NEEDS TO DISPLAY THE SELECTED USERS PICTURE. CURRENTLY SHOWS A DEFAULT USER.
return cell;
}
ありがとう!
に配列を呼び出すことにより、細胞内に通常のようにロードすることができますが、そのは私のために働いていません。元の投稿を編集中のコードの2つのセクションで編集しました。 – Brian