gpt4 book ai didi

ios - 在 iOS 中对属性字符串的某些部分进行点击操作

转载 作者:行者123 更新时间:2023-12-01 17:06:29 25 4
gpt4 key购买 nike

我想对 UILabel 进行部分点击操作。
例如:如果我们有像“我的名字是 XYZ”这样的字符串,在这种情况下,我只想为“XYZ”添加点击 Action 。

如何在 iOS 中做到这一点(swift)

最佳答案

有控制调用 TTTAttributedLabel 可以在 Objective-C 中处理相同的问题所以你可以使用它,

TTTAttributedLabel *tttLabel = <# create the label here #>;
NSString *labelText = @"Lost? Learn more.";
tttLabel.text = labelText;
NSRange r = [labelText rangeOfString:@"Learn more"];
[tttLabel addLinkToURL:[NSURL URLWithString:@"action://show-help"] withRange:r];

然后,在您的 TTTAttributedLabelDelegate 中:
- (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url {
if ([[url scheme] hasPrefix:@"action"]) {
if ([[url host] hasPrefix:@"show-help"]) {
/* load help screen */
} else if ([[url host] hasPrefix:@"show-settings"]) {
/* load settings screen */
}
} else {
/* deal with http links here */
}}

对于 Swift,你可以做一些事情,比如,
let name = "tomo"
let string = "My name is \(name)"
label.text = string
let nsString = string as NSString
let range = nsString.rangeOfString(name)
let url = NSURL(string: "action://users/\(name)")!
label.addLinkToURL(url, withRange: range)

关于ios - 在 iOS 中对属性字符串的某些部分进行点击操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30799579/

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