Interface Builderを使用してアプリをレイアウトしています。私はいくつかのテキストを含むUITextViewを持っています。その一部は、クリック可能にしたい(たとえば、ブラウザーを起動する)URLです。私はこれを行う方法を読んで、私はそれを正しくやっていると信じていますが、URLが青/クリック可能に見えても、iPhoneエミュレータでクリックしても機能しません。何も起こりません。
私のコントローラー:
@interface FirstViewController : UIViewController <UISearchBarDelegate>
@property (nonatomic, retain) IBOutlet UITextView *review;
@end
私の実装では@synthesize review;
(そしてビューのテキストを操作できるので、それが問題だとは思わないでください)。
IBには次のものがあります。
..その後、テキストを設定するときに(そして、ビュー内のURLをクリック可能にしようとすると)
self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
...次のように表示されます:
...これは本当に機能したいように見えますが、URLをクリックしても何も起こりません。私は何が欠けていますか?
-UPDATE-
Dixit Patelの回答に応じてself.review.editable = NO;
を追加しようとしましたが、問題は修正されませんでした。
self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.editable = NO;
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
問題は、User Interaction Enabled
は、IBの属性インスペクターの[表示]セクションの下部でチェックされませんでした。
テキストビューの「選択可能」および「リンク」チェックボックスをオンにします属性インスペクター:
このヘルプを使用してみてください
UITextView
内のリンクはデフォルトではクリックできません。しかし、幸いなことに、数行の簡単なコードで有効にできます。
self.review.editable = NO;
self.review.selectable = YES;//required
self.review.dataDetectorTypes = UIDataDetectorTypeLink;
残念ながら、クリック可能なリンクを持つ編集可能なUITextView
を使用することはできません。 editableをYESに設定すると、すべてのリンクが通常のテキストとして扱われます。
[〜#〜] edit [〜#〜]
.xibファイルでUITextviewが無効になっている可能性があります。