#iphone #objective-c #three20
#iPhone #objective-c #three20
Вопрос:
Я добавил TTStyledTextLabel в свою пользовательскую ячейку для моего UITableView, код:
TTStyledTextLabel * tt_title = [[[TTStyledTextLabel alloc] initWithFrame:CGRectMake(50, cell.frame.origin.y, 640, 200)] autorelease];
tt_title.text = [TTStyledText textWithURLs:[[self.posts objectAtIndex:indexPath.row] message]];
tt_title.font = [UIFont systemFontOfSize:15];
tt_title.contentInset = UIEdgeInsetsMake(10, 10, 10, 10);
[tt_title sizeToFit];
[cell addSubview:tt_title
];
Переданная NSString содержит URL-адрес, однако, когда я нажимаю на URL-адрес, он ничего не делает.. даже не открываю его в safari.. почему это?
Ответ №1:
Не уверен точно, не видя, что находится в фактической строке, которую вы передаете в TTStyledText, но в качестве альтернативы вы могли бы попробовать использовать
[TTStyledText textFromXHTML:[[self.posts objectAtIndex:indexPath.row] message] lineBreaks:NO URLs:YES];
и добавьте <a href=''></a>
в свою строку
Комментарии:
1. строка просто @»Это тест на www.youtube.com »
2. это внутри TTTableViewCell
3. Попробовал ваш код и получил те же результаты, но смог превратить его в ссылку, добавив ‘http: //’ в начало. Итак, я предполагаю, что конструктор textWithURLs не такой умный. Итак, у вас есть несколько вариантов: 1) используйте textFromXHTML и превратите вашу строку в разметку с привязками href, 2) добавьте http: // в начало ваших ссылок или 3) измените источник TTStyledText, чтобы принимать только ‘www.’. надеюсь, это поможет!