iphone - 在 ABPeoplePickerNavigationController 上取消选择RowAtIndexPath

标签 iphone row addressbook

我在我的应用程序中将 ABPeoplePickerNavigationController 显示为选项卡。用户点击姓名,然后点击电子邮件地址,然后我对电子邮件地址执行一些操作。

之后,我希望他们选择的人和属性(property)淡出(不突出显示)。

在普通表中,我会调用 deselectRowAtIndexPath。但是对于 ABPeoplePickerNavCont,我似乎无法访问它的表,也不知道选择了什么 indexPath,也没有用于取消选择行的 api。

在大多数应用程序中,ABPeoplePickerNavCont 都是模态使用的,因此该行仍然突出显示并不重要,因为整个事情都会被忽略。但在我的应用程序中,它不会被忽略(就像电话应用程序中的联系人选项卡一样)。

有什么想法吗?

最佳答案

这就是我正在做的事情......而且看起来效果很好。当您选择/取消选择某个项目时,我还会添加一个复选标记附件。让我知道你的想法。谢谢:)

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

if(tableView != nil)
{
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:[tableView indexPathForSelectedRow]];

    cell.accessoryType = cell.accessoryType == UITableViewCellAccessoryNone ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;

    [cell setSelected:NO animated:YES];
}

关于iphone - 在 ABPeoplePickerNavigationController 上取消选择RowAtIndexPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314653/

相关文章:

ios - UITableView 上的 Swift 条件数据打印

ios - 在 ios 上从电话簿导入联系人时过滤 truecaller 垃圾邮件联系人(保存名称 "Identified as Spam")

iphone - UITableView : Adaptive cell height

iphone - 从 iPhone 应用程序导入 native 日历的可能性

ios - 为应用程序添加试用期。我应该在 Swift (iOS) 中使用 Timer 还是 DispatchQueue?

ms-access - 报表生成器(数字隐喻)在详细信息区域中添加空行,直到页面末尾

r - 使用第一个值创建新列,后面不跟其他列中的其他值

ios - Collection View 中类似表格 View 的动画?

iphone - ABAddressBookSave 随机崩溃

java - 在地址簿中添加和检查 Java 中的条目