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

时间:2013-04-18 11:19:28

标签: ios objective-c uiactionsheet

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

  • “新消息”
  • “添加到联系人”

如何对“新邮件”按钮执行自定义操作?单击?

3 个答案:

答案 0 :(得分:1)

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

-actionSheet:clickedButtonAtIndex:

然后执行您需要的操作。

答案 1 :(得分:1)

首先在.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
    }
}

答案 2 :(得分:1)

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

如果您不熟悉NSDataDetector及其实现,请查看TTTAttributedLabel的实现。它是UILabel的完全替代品,具有数据检测功能和非常完善的代理协议。

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