web-dev-qa-db-ja.com

UITextViewでURLをクリック可能にできません

Interface Builderを使用してアプリをレイアウトしています。私はいくつかのテキストを含むUITextViewを持っています。その一部は、クリック可能にしたい(たとえば、ブラウザーを起動する)URLです。私はこれを行う方法を読んで、私はそれを正しくやっていると信じていますが、URLが青/クリック可能に見えても、iPhoneエミュレータでクリックしても機能しません。何も起こりません。

私のコントローラー:

@interface FirstViewController : UIViewController <UISearchBarDelegate>
@property (nonatomic, retain) IBOutlet UITextView *review;
@end

私の実装では@synthesize review;(そしてビューのテキストを操作できるので、それが問題だとは思わないでください)。

IBには次のものがあります。

IB Settings

..その後、テキストを設定するときに(そして、ビュー内のURLをクリック可能にしようとすると)

self.review.text = content;
// My understanding is that this makes URLs clickable...
self.review.dataDetectorTypes = UIDataDetectorTypeLink;

...次のように表示されます:

Simulator Output

...これは本当に機能したいように見えますが、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;
37
Madbreaks

問題は、User Interaction Enabledは、IBの属性インスペクターの[表示]セクションの下部でチェックされませんでした。

15
Madbreaks

テキストビューの「選択可能」および「リンク」チェックボックスをオンにします属性インスペクター

enter image description here

55
IgniteCoders

このヘルプを使用してみてください

UITextView内のリンクはデフォルトではクリックできません。しかし、幸いなことに、数行の簡単なコードで有効にできます。

self.review.editable = NO;
self.review.selectable = YES;//required
self.review.dataDetectorTypes = UIDataDetectorTypeLink;

残念ながら、クリック可能なリンクを持つ編集可能なUITextViewを使用することはできません。 editableをYESに設定すると、すべてのリンクが通常のテキストとして扱われます。

[〜#〜] edit [〜#〜]

.xibファイルでUITextviewが無効になっている可能性があります。

27
Dixit Patel