2015-08-25 2 views
0

Я хотел бы установить действие на «часть» UILabel, а не на все UIlabel, как «срок службы» прикрепленного изображения. Я использую раскадровку. Теперь я собираюсь прикрыть UIButton частью UILabel. Тем не менее, сложно настроить часть ярлыка с помощью кнопки на любом макете (iPhone 5, 6 и 6 плюс) путем автоспуска. Если вы знаете лучший способ, скажите мне. Спасибо за вашу доброту.Как установить действие на часть UILabel?

enter image description here

+0

Вы можете попробовать библиотеку TTTAttributedLabel, которая поддерживает гиперссылка: https://github.com/TTTAttributedLabel/TTTAttributedLabel (есть много других подобных из них) –

+1

Вы также можете использовать 'UIButton' - не уверен, что делает его трудно к макету –

+0

Дорогой Аарон Спасибо! Что касается UIButton, должен ли я подготовить UIlabel и UIButton, ярлык «Продолжая указывать, что вы прочитали и согласны с ним» и кнопку «Условия обслуживания»? – lalala

ответ

1

Я бы рекомендовал использовать UITextView с NSAttributedString. Получите диапазон текста, который вы ищете, и затем добавьте кнопку в качестве подсмотра к представлению.

NSRange termsOfServiceRange = [self.termsOfUseTextView.text rangeOfString:@"Terms of Service"]; 
self.termsOfUseTextView.selectedRange = termsOfServiceRange; 
UITextRange *termsOfServiceTextRange = [self.termsOfUseTextView selectedTextRange]; 
CGRect termsOfServiceFrame = [self.termsOfUseTextView firstRectForRange:termsOfServiceTextRange]; 
CGRect convertedFrame = [self.view convertRect:termsOfServiceFrame fromView:self.termsOfUseTextView]; 

UIButton *termsOfServiceButton = [[UIButton alloc]initWithFrame:convertedFrame]; 
[termsOfServiceButton setBackgroundColor:[UIColor clearColor]]; 
[termsOfServiceButton addTarget:self action:@selector(termsOfServiceButtonPressed:) forControlEvents:UIControlEventTouchUpInside]; 
[self.view addSubview:termsOfServiceButton]; 
[self.view bringSubviewToFront:termsOfServiceButton]; 
+0

Это не сделает ссылка меняет цвета при нажатии на нее. Bad UX. –

Смежные вопросы