我的应用程序中有一些UI按钮,在文本前面有一个数字指示器 . 现在,我只是使用字符串插值来显示字符串之前的数字,如下所示 .
fruitButton.setTitle("\(fruitCounter) Fruits", forState: UIControlState.Normal)
我需要更多的数字,而不是仅仅与 Headers 文本混合 . 像围绕它的圆圈一样简单就可以解决问题,如下面的设计所示:
.
我对Swift中的Attributed Strings进行了一些研究 . 但是,我刚刚看到许多关于更改文本属性的示例 . EG - 更改数字指示器的文本颜色和大小 . 我无法弄清楚如何在后面添加一个圆圈 .
我不希望这个圆圈成为一个图像,只是出于可扩展的目的 . 例如,如果该数字最终为2位数,我需要将圆圈拉伸为椭圆形 . 我的想法是使用数字背后的小视图,然后只应用颜色/ alpha /半径来实现我需要的外观 .
总结一下:如何使用Swift中的Attributed Strings在我的数字指示器后面添加圆圈?
2 回答
您应该创建一个包含这两个元素的
UIView
子类 . 创建包含这些实体的相应.xib
文件或在代码中实现这些实体 . 您还可以实现touchesBegan
,以便此视图可以像按钮一样操作或添加按钮而不是文本标签,并实现每次按下按钮时触发的协议 . 我必须和他们一起玩才能让他们做得恰到好处 .然后在View Controller中,使用我写的initilizer:
我用autolayout做了一些类似于你的目的的东西
代码在这里:
数字的结果是1234:
数字为1的结果: