UILabel
способен только отображать простых текстовых строк (в IOS 6 он теперь может также отображать NSAttributedString
с, но это не будет работать в старых версиях IOS, так что лучше не полагаться на это), так что вы не сможет сделать это с помощью метки.
Вы можете посмотреть TTTAttributedLabel для отображения отнесенного текста (чтобы вы могли добавлять подчеркивания и другое форматирование), но вы не сможете добавлять гиперссылки с этим классом.
вариантов у вас есть для интерактивного сегмента строки в основном:
Используй простой UILabel
и наложение UIButton
по той части, которую вы хотите быть интерактивными, или
Использования TTTAttributedLabel
для достижения эффекта подчеркивания и UITapGestureRecognizer
для обнаружения и обработки кранов (обратите внимание, что это будет захватывать краны на этикетке всего, а не только подчеркнутой части).
Для IOS 6:
UILabel *label = [[UILabel alloc] init];
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"Tap here to read the latest Football News."];
[string addAttribute:NSUnderlineStyleAttributeName value:@(1) range:NSMakeRange(4, 4)];
label.attributedText = [string copy];
Для более ранних версий IOS, а также IOS 6:
TTTAttributedLabel *label = [[TTTAttributedLabel alloc] init];
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"Tap here to read the latest Football News."];
[string addAttribute:NSUnderlineStyleAttributeName value:@(1) range:NSMakeRange(4, 4)];
label.text = [string copy];
Затем добавить жест распознавани и реализации handleTap:
:
UITapGestureRecognizer *recogniser = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[label addGestureRecognizer:recogniser];
- (void)handleTap:(UITapGestureRecognizer *)recogniser {
// Handle the tap here
}
Используйте для этого строку html. И покажите в пользовательской метке, которая поддерживает атрибутные строки. – Divyu
может показать мне пример ... – lakesh
Вы можете попробовать http://stackoverflow.com/questions/7385892/how-can-i-set-substring-of-a-nsstring-as-bold-in-uilabel –