方法从的UITextField电话
-
20-09-2019 - |
题
我有一个问题。 我已经实现,它包含一个PhoneNumber一个的UITextField,然后我已实现了以下的方法来拨打的电话号码:
- (void)rufeAn{
NSString *prefix = (@"tel://");
UIApplication *app = [UIApplication sharedApplication];
NSString *dialThis = [NSString stringWithFormat:@"%@%@", prefix, map.kordinate.telefon];
NSURL *url = [NSURL URLWithString:dialThis];
[app openURL:url];
}
但我怎么能到文本框说当我触摸它,启动方法和拨号?
解决方案
我St3fan同意一个正常的TextField不应该通过敲击引起的动作。我将承担您有可制成不可编辑,然后貌似UILabel
,格式看起来像一个超级链接一个特殊的UITextField的时刻。这样的用户界面可能是正确的。攻丝,看起来像它的编辑,但实际上文本字段,使课程的一个电话是不正确的。
您可以实现UITextFieldDelegate
协议并注意textFieldShouldBeginEditing:
。由于该文本字段是不可编辑的,显然你应该返回NO。
您可以添加一个利用其覆盖意见“呼叫”按钮上的文字字段内(leftView
或rightView
;读取正确的UE对这些的文档)
您可以继承UITextField
覆盖touchesBegan:withEvent
,touchesEnded:withEvent:
和touchesCancelled:withEvent:
自己处理的触感。记住:你必须先考虑它触摸收到touchesBegan
和touchesEnded
没有他们之间的touchesCancelled
。永远不会触发仅基于touchesBegan
的动作。
其他提示
攻丝的文本字段不应该导致一些行动。在我看来这是糟糕的用户界面设计。你为什么不加入该字段旁边的按钮运行上面的代码?
不隶属于 StackOverflow