3

バイバーのような ABPeoplePickerNavigationController を表示する方法。バイバー アイコンは、既に使用している連絡先の前に表示されます。スクリーンショットを確認してください。これが私がやろうとしているコードですが、問題に直面しています...

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];

    picker.navigationBar.tintColor = [UIColor colorWithRed:33.0f/255.0f green:54.0f/255.0f blue:63.0f/255.0f alpha:0.20f];

    picker.peoplePickerDelegate = self;

    [self presentModalViewController:picker animated:YES];

    UIView *view = picker.topViewController.view; 
    UITableView *tableView = nil;
    for(UIView *uv in view.subviews)
    {
        if([uv isKindOfClass:[UITableView class]])
        {
            tableView = (UITableView*)uv; 

            UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logoIcon"]];

            NSLog(@"NumberOfSection<--->%d",[tableView numberOfSections]);

            NSLog(@"NumberOfRows=%dInSection=%d",[tableView numberOfRowsInSection:i], i);

            for (int i = 0; i < [tableView numberOfSections]; i++)
            {
                for (int j = 0; j < [tableView numberOfRowsInSection:i]; j++)
                {
                    UITableViewCell *celll = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:j inSection:i]];

                    celll.accessoryView = imageView;

                    NSLog(@"currentIndex=>%@",celll.accessoryView);

                    celll = nil;
                }
            }

            break;
        }
    }

ここに画像の説明を入力

4

1 に答える 1

3

ABPeoplePickerNavigationControllerあなたがやろうとしていることをするために使うことはできないと思います。独自のカスタムUIViewControllerを作成し、連絡先のテーブルビューを自分で作成することをお勧めします。cellForRowAtIndexPathやり方は簡単で、ハッキングをしなくてもセルをカスタマイズできます。

于 2012-07-06T14:10:55.073 に答える