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];
}
しかし、私はそれに触れたときにどのように私は、メソッドを起動してダイヤルする、テキストフィールドに言うことができますか?
解決
私は、通常のTextFieldをタップしてアクションを起こすべきではありませんことをSt3fanに同意します。私はあなたが編集不可能作られ、その後、ハイパーリンクのように見えるようにフォーマットUILabel
、のように見えることができる特別のUITextFieldを持っている瞬間を仮定します。このようなUIは正しいかもしれません。それは実際に編集可能ですが、のように見えるテキストフィールドをタップすると、電話はもちろん正しくないだろうになります。
あなたはUITextFieldDelegate
プロトコルを実装し、textFieldShouldBeginEditing:
ために見ることができます。このテキストフィールドは編集できないので、明らかにあなたはNOを返す必要があります。
leftView
またはrightView
;これらの正しいUE上のドキュメントを読んで)あなたはそのオーバーレイビューを使用してテキストフィールド内のボタンを「呼び出す」を追加することができます。
あなたはタッチを自分で処理するためにUITextField
、touchesBegan:withEvent
とtouchesEnded:withEvent:
を上書きするtouchesCancelled:withEvent:
をサブクラス化することができます。覚えている:あなたはそれのタッチを検討するために、それらの間touchesBegan
なしtouchesEnded
とtouchesCancelled
を受けなければなりません。のみtouchesBegan
に基づいてアクションを発射することはありません。
他のヒント
テキストフィールドをタップすると、いくつかのアクションが発生することはありません。悪いユーザー・インターフェースの設計である私の意見では。なぜあなたは上記のコードを実行し、フィールドの横のボタンを追加しないのですか?