42

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

私のコントローラー:

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

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

IBでは私は持っています:

IB設定

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

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

...次のようなものが表示されます:

シミュレーター出力

...これは本当に機能したいように見えますが、URLをクリックしても何も起こりません。私は何が欠けていますか?

- アップデート -

self.review.editable = NO;Dixit Patelの回答に応じて追加しようとしましたが、問題は修正されませんでした。

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

3 に答える 3

61

textview属性インスペクターの「選択可能」および「リンク」チェックボックスをチェックします。

ここに画像の説明を入力してください

于 2013-12-02T17:42:32.923 に答える
33

これを使ってみてくださいこの助けがあなたに役立つことを願っています

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

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

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

編集

.xibファイルでUITextviewが無効になっている可能性があることを正しく確認してください。

于 2013-01-17T20:00:35.307 に答える
15

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

于 2013-12-03T20:00:33.623 に答える