【问题标题】:ABPersonViewController+deleteABPersonViewController+删除
【发布时间】:2026-01-13 17:30:02
【问题描述】:

谁能帮我在ABPersonViewController 中启用删除按钮?

【问题讨论】:

    标签: iphone abpersonviewcontroller


    【解决方案1】:

    看看没有使用任何私有方法的 ABPersonViewController+Delete 类别:

    https://github.com/shrtlist/ABDelete

    【讨论】:

    • 这与下面的内容完全相同,几乎可以肯定使用私有 API
    【解决方案2】:

    对我来说,这段代码有效:

    ABPersonViewController *pvc = [[ABPersonViewController alloc] init];
    [pvc setPersonViewDelegate:self];
    [pvc setAllowsEditing:YES];
    [pvc setAllowsDeletion:YES];
    [pvc setAllowsActions:YES];
    

    【讨论】:

    • 需要说明的是,他是一种隐藏方法,可能会导致你的应用被App Store拒绝。另外,在使用方法(if (pvc respondsToSelector:@selector(setAllowsDeletion:)))之前,你应该做一个测试。
    • 它会导致编译错误,因为 setAllowsDeletion 是一个私有方法
    • 我设法让它与 [picker setValue:[NSNumber numberWithBool:YES] forKey:@"allowsDeletion"]; 一起工作。但是,删除后,窗口不会弹出。没有删除委托。
    • @JimThio 如果您知道如何弹出它,请在此处发布