如何在iOS生成的动作表上监听动作



在我的应用程序中有包含电子邮件地址的UITextView。当我触摸并按住电子邮件地址时,就会弹出一个操作表,上面有以下按钮:

    "新消息"
  • "添加到联系人"
  • 等。

如何对"新消息"按钮单击执行自定义操作?

首先在。h文件中实现UIActionSheetDelegate,然后执行…

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0)
    {
        // here you can perform new message action
    }
    else
    {
        // here you can perform add new contact action
    }
}

你必须将viewController设置为actionSheets委托,然后实现

-actionSheet:clickedButtonAtIndex:

然后执行你需要的操作

您需要子类化UITextView并覆盖-setText:方法。在您的自定义实现中,您需要将UIDataDetector添加到您的子类中。

如果你不熟悉NSDataDetector和它的实现,看看TTTAttributedLabel的实现。它是一个完全成熟的UILabel的替代品,具有数据检测和非常完善的委托协议。

你可以采用它的大部分代码

最新更新