您好,我试图在标签矩形与 UIView 相交的情况下更改 UILabel 的文本颜色,我在想也许有一个属性或我可以使用的东西。如下图所示:
以前有人遇到过这个问题吗,或者我应该阅读什么才能开始做这件事?
提前致谢
最佳答案
好拼图!这是我会做的:
- 两个 UIView。我们将一个称为背景,另一个称为进度条。 progressBar 堆叠在背景之上,在它们共同的
superview
上具有相同的origin
。 - 它们都有一个 UILabel 作为 subview ,并且两个标签相对于它们的父级在同一原点。背景有深色
backgroundColor
,它的标签有浅色textColor
,进度 View 则相反。 - progressBar 的框架宽度比背景窄,并且有
clipsToBounds==YES
诀窍是, View 的起源相同,标签的起源相同,并且顶部 View 上有 clipsToBounds,一切看起来都是正确的。
将这两个 View 放到一个名为 ReallyCoolProgressView 的新 UIView 子类中,并为其提供一个公共(public)方法:
-(void)setProgress:(float)progress
进度是一个从 0.0 到 1.0 的数字。该方法缩放 progressBar 宽度并设置 both 标签的文本 @"Progress %f", progress*100
关于iphone - 当其框架与 UIView 相交时反转 UIlabel 文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15538163/