gpt4 book ai didi

swift - 如何为 UILabel 的一部分设置 Action ?

转载 作者:行者123 更新时间:2023-11-28 13:07:54 28 4
gpt4 key购买 nike

我想为 UILabel 的“部分”设置一个 Action ,而不是 UIlabel 的全部,例如附图的“服务条款”。我正在使用 Storyboard。现在,我正在考虑在 UILabel 部分覆盖 UIButton。但是,在任何布局(iPhone 5、6 和 6 plus)上,通过自动布局调整带有按钮的标签部分很麻烦。如果你知道更好的方法,请告诉我。谢谢你的好意。

enter image description here

最佳答案

我建议使用带有 NSAttributedStringUITextView。获取要查找的文本范围,然后将按钮作为 subview 添加到 View 中。

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];

关于swift - 如何为 UILabel 的一部分设置 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32195030/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com