1

ナビゲーション コントローラーにビュー コントローラーをプッシュする UITextView にリンクを実装しています。

次の方法を使用しようとしています。

directionTextLabel.text = [directionTextLabel.text stringByAppendingString:[[NSString alloc] initWithFormat:@" %@", siteURL]];
directionTextLabel.dataDetectorTypes = UIDataDetectorTypeLink;

これにより、リンクがクリック可能になります。そして、私のアプリケーションデリゲートには、次のものがあります。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSLog(@"URL detected.");
    return 1;
}

ただし、リンクをクリックすると、アプリのデリゲート メソッドを呼び出さずに新しいページが開きます。何がうまくいかないのか、それを実装できる他の方法はありますか?

ありがとうございました。

4

2 に答える 2

1

デリゲート メソッドは、application:openURL...アプリケーションが登録済みの URL ハンドラー (Info.plist ファイルで定義) に応答する必要がある場合に使用します。URL イベントは、ターゲット アプリケーションの同様のメソッドに送信されます (たとえば、http リンクの場合は Safari)。

編集:この投稿を参照してください

于 2012-07-30T21:25:04.093 に答える
1

このメソッドは、あなたが思っていることをしません。このメソッドは、アプリが URL を開いたときではなく、何らかの URL スキームによってアプリケーションが呼び出されたときに呼び出されます。

于 2012-07-30T21:26:46.043 に答える