我一直在寻找以下方法
标签:“你最喜欢的颜色[蓝色] / [红色]”
所以,我得到“你最喜欢的颜色蓝/红” - 输入文字& (蓝色,红色)类型按钮。
我想在Blue&的确切位置渲染按钮。红色出现在标签上。字体大小相同。
答案 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 );
它可以帮助你。