将标签文本中的任何单词作为按钮以编程方式iOS

时间:2015-02-28 04:42:11

标签: ios button label

我一直在寻找以下方法

标签:“你最喜欢的颜色[蓝色] / [红色]”

  • 其中蓝色和红色是按钮
  • app有两种从数据库中挑选的字段作为随机问题
    a)文字
    b)文字上的按钮

所以,我得到“你最喜欢的颜色蓝/红” - 输入文字& (蓝色,红色)类型按钮。

我想在Blue&的确切位置渲染按钮。红色出现在标签上。字体大小相同。

1 个答案:

答案 0 :(得分:1)

根据文字

获取标签宽度
CGSize labelSize = [myLabel.text sizeWithFont:myLabel.font 
                            constrainedToSize:myLabel.frame.size 
                                lineBreakMode:NSLineBreakByWordWrapping];

然后计算单个字符宽度

CGFloat labelSingleCharWidth = labelSize.width/"numberOfCharInLabelString";  

并在此获取范围之后

 NSRange range = [myLabel.text rangeOfString:@"Blue"];

它将返回“蓝色”的位置和长度。根据这个按钮的框架像这样

myButton.frame=CGRectMake(range.location*labelSingleCharWidth , 0 , range.length*labelSingleCharWidth , labelSize.heigth );

它可以帮助你。