【发布时间】:2014-11-20 14:14:48
【问题描述】:
我有一个这样设置的属性字符串:
var range = (showStr as NSString).rangeOfString(spellingStr)
var attributedString = NSMutableAttributedString(string:showStr)
attributedString.addAttribute(NSForegroundColorAttributeName, value: ezGreen, range: range)
我想在我设置为绿色的范围内添加一个点击手势。
是否有用于触摸的属性?我如何为spellingStr 部分设置点击手势?
编辑
该标签和字符串的所有代码如下:
var showStr:NSString = "Showing results for \(searchT)."
println("SearchTerm:\(searchT)")
showingLabel.textColor = .blackColor()
var range = (showStr as NSString).rangeOfString(searchT)
var attributedString = NSMutableAttributedString(string:showStr)
attributedString.addAttribute(NSForegroundColorAttributeName, value: ezGreen , range: range)
showingLabel.attributedText = attributedString
showingLabel.font = UIFont.systemFontOfSize(17)
showingLabel.numberOfLines = 0
showingLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
var showHeight:CGFloat = heightForView(showingLabel.text!, UIFont.systemFontOfSize(17), maxLabelWidth)
showingLabel.frame = CGRectMake(20, heightOfCor, maxLabelWidth, showHeight)
heightOfCor += showHeight
bgBlack.addSubview(showingLabel)
【问题讨论】:
-
@Glynbeard 该解决方案的问题是我不想重新创建要单击的标签,因为每次字符串都可能非常不同。
-
这似乎提供了一个很好的答案:stackoverflow.com/questions/19332283/…
-
@inVINCEable 如果您可以改用
UITextView(您可以禁用编辑,这将使用户无法区分),您可以按照@edwardmp 提供的答案来实现您想要的很容易。
标签: ios objective-c swift ios8