TTStyledTextLabel - PullRequest
       13

TTStyledTextLabel

0 голосов
/ 28 января 2011

Я пытаюсь заставить этот элемент управления работать с гипертекстовой ссылкой без особого успеха. Я посмотрел на TTCalaog и попытался повторить, но не работает.

У меня это работает, когда отображается гипертекстовая ссылка, но она не срабатывает.

TTStyledTextLabel * label = [[[TTStyledTextLabel alloc] initWithFrame: CGRectMake (5, 0, 315, 175)] autorelease];

NSString * labelText = @ "Это должно работать";

label.text = [TTStyledText textFromXHTML: labelText lineBreaks: NO URLs: YES];

[self.view addSubview: label];

Мне кажется, я здесь упускаю из виду вопрос, возможно, из-за размещения URL-адреса Google? Я видел сообщение на этом форуме, в котором используется custom-uri: // some / url, который затем настраивается в TTURLMap и TTNavigator, но мне нужно открыть URL-адрес из гипертекста в веб-представлении, поэтому мне нужен URL для запустить метод в моем классе, который создает мой контроллер веб-просмотра и т. д.

Я пытался настроить TTURLMap для работы без TTNavigator, но полностью замариновал?

Любая помощь gratefullt приветствуется; -)

Спасибо

1 Ответ

1 голос
/ 30 июня 2011

Я только что нашел решение для перехвата кликаемого URL в TTStyledTextLabel.Я надеюсь, что это может помочь и в вашем случае.

Это то, что я сделал.

1.Создать TTNavigator

    TTNavigator *navigator = [TTNavigator navigator];
    navigator.persistenceMode = TTNavigatorPersistenceModeNone;
    navigator.delegate = self;

2.Создайте TTNavigatorDelegate

Поскольку вы назначили себя делегатом объекта навигатора.Поэтому, пожалуйста, не забудьте добавить протокол в файл заголовка .h, прежде чем продолжить.

В реализации создайте этот метод

    - (BOOL) navigator:(TTBaseNavigator *)navigator shouldOpenURL:(NSURL *)URL {
        // Now you can catch the clicked URL, and can do whatever with it
        // For Example: In my case, I take the query of the URL
        // If no query is available, let the app open the URL in Safari
        // If there's query, get its value and process within the app

        NSString *query = URL.query;

        if (query == nil) {
            return YES;
        } else {
            // process the query
        }
    }

Надеюсь, это поможет!Пожалуйста, проголосуйте за меня, если это поможет решить вашу проблему!

С наилучшими пожеланиями,

Тхан

...