質問

私は問題を抱えています。

:私は、私は電話番号を呼び出すために、次のメソッドを実装している、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上のドキュメントを読んで)

あなたはそのオーバーレイビューを使用してテキストフィールド内のボタンを「呼び出す」を追加することができます。

あなたはタッチを自分で処理するためにUITextFieldtouchesBegan:withEventtouchesEnded:withEvent:を上書きするtouchesCancelled:withEvent:をサブクラス化することができます。覚えている:あなたはそれのタッチを検討するために、それらの間touchesBeganなしtouchesEndedtouchesCancelledを受けなければなりません。のみtouchesBeganに基づいてアクションを発射することはありません。

他のヒント

テキストフィールドをタップすると、いくつかのアクションが発生することはありません。悪いユーザー・インターフェースの設計である私の意見では。なぜあなたは上記のコードを実行し、フィールドの横のボタンを追加しないのですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top