我正在尝试使用右侧的用户名,然后在按钮左侧显示一些带有文本的UIlabel。
我只是不确定如何才能获得限制,尤其是UILabel文本在按钮下方的下一行继续的部分......?
如果有人有任何想法,欢迎任何帮助!
问候。
答案 0 :(得分:2)
请参阅UITextView内部我在UIButton上创建的示例: https://github.com/smozgur/UIButton-inside-UITextView我还在玩它,但到目前为止结果很好。
答案 1 :(得分:1)
我认为最好的方法是用一个标签来做这一切。您可以使用属性字符串设置文本样式(下面的代码)。然后创建一个放在标签顶部的UIButton(可以根据用户名的长度调整UIButton的大小)。
这是我在注册屏幕上创建免责声明标签时使用的方法,如下所示
以下是创建属性字符串的代码:
let disclaimerAttributedString = NSMutableAttributedString(string: disclaimerLabel.text!, attributes: [NSKernAttributeName: -0.4])
disclaimerAttributedString.addAttributes([NSForegroundColorAttributeName: UIColor.whiteColor(), NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue], range: NSMakeRange(38, 12))
disclaimerAttributedString.addAttributes([NSForegroundColorAttributeName: UIColor.whiteColor(), NSUnderlineStyleAttributeName: NSUnderlineStyle.StyleSingle.rawValue], range: NSMakeRange(55, 14))
disclaimerLabel.attributedText = disclaimerAttributedString
我的情况略有不同,因为我将它应用于静态文本。对于您,您可以根据用户名的长度在代码中创建按钮,或者您可以通过将按钮固定在UILabel的左上角来近似它。
您可以使用this SO answer中的字符串扩展名来计算用户名占用的属性字符串的长度