iOS8交互式UILocaNotification-如何隐藏警报选项中的alertAction

时间:2015-08-05 04:25:48

标签: ios8 uilocalnotification

enter image description here我在我的一个应用程序中实现了基于iOS8的交互式UILocalNotification。我们需要更改默认文本,在“幻灯片解锁...”中解锁以“响应”。为了实现这一点,我在创建通知时添加了一个名为“response”的alertAction,它运行良好。 localNotification.alertAction = "respond"

然而,这对我来说是一个不适当的问题。我只需要选项2,选项2作为警报选项,但现在,“响应”在顶部作为另一个选项出现,这是我不需要的。

是否有办法从警报操作中删除“响应”,但将其保留在锁定文本中以替换“解锁”。这甚至可能吗?我查看了API并没有找到任何有用的东西。

注意:我想知道这根本不可能吗? - https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/#//apple_ref/occ/instp/UILocalNotification/alertAction - 说,

alertAction  属性 操作按钮或滑块的标题。

宣言 迅速 var alertAction: String? 讨论 分配一个字符串,或者最好是一个本地化字符串键(使用NSLocalizedString)作为值。警报操作是警报右键的标题或解锁滑块的值,其中值替换“滑动解锁”中的“解锁”。如果指定nil,并且alertBody为非零,则“View”(本地化为首选语言)将用作默认值。

1 个答案:

答案 0 :(得分:0)

以下是两篇描述可能性的文章:

ObjC:UIAlertController Changes in iOS 8

SWIFT:UIAlert​Controller in IOS8

respondAction.enabled = NO;

以下是隐藏按钮的代码,直到您在textField中输入所需的字符数:

- (void)alertTextFieldDidChange:(UITextField *)sender
{
  UIAlertController *alertController = (UIAlertController *)self.presentedViewController;
  if (alertController)
  {
    UITextField *login = alertController.textFields.firstObject;
    UIAlertAction *okAction = alertController.actions.lastObject;
    okAction.enabled = login.text.length > 2;
  }
}