我有一个问题。 我已经实现,它包含一个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。

您可以添加一个利用其覆盖意见“呼叫”按钮上的文字字段内(leftViewrightView;读取正确的UE对这些的文档)

您可以继承UITextField覆盖touchesBegan:withEventtouchesEnded:withEvent:touchesCancelled:withEvent:自己处理的触感。记住:你必须先考虑它触摸收到touchesBegantouchesEnded没有他们之间的touchesCancelled。永远不会触发仅基于touchesBegan的动作。

其他提示

攻丝的文本字段不应该导致一些行动。在我看来这是糟糕的用户界面设计。你为什么不加入该字段旁边的按钮运行上面的代码?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top