在 Objective-C 中以动态和编程方式调整 UIView 的大小
Posted
技术标签:
【中文标题】在 Objective-C 中以动态和编程方式调整 UIView 的大小【英文标题】:Dynamically & programmatically resize UIView in Objective-C 【发布时间】:2018-06-07 20:28:48 【问题描述】:我正在显示用户列表以及他们赢得的相应徽章,因此每个用户都有三种不同的计数(金、银、铜)。除了显示他们获得的徽章数量之外,我还希望在背景中有一个矩形,根据他们拥有的徽章数量调整大小(有点像条形图)。
这就是我目前尝试的方式。 (我的故事板中有一个名为 goldRect 的 UIView,开始时高度为 20,宽度仅为 1 个像素。)然后我这样做:
cell.goldRect.frame = CGRectMake(cell.goldRect.frame.origin.x, cell.goldRect.frame.origin.y, 28*numGolds, cell.goldRect.frame.size.height);
但没有任何变化,条形仍然保持在 1 个像素的宽度。有什么帮助吗?
【问题讨论】:
动画!!或试试这个 SO 帖子:***.com/questions/18850871/… 你想改变宽度还是高度?假设你想改变你提到的宽度只有 28*numGolds 不是所有的徽章,你在这里提到所有的徽章计数。 28*allBadgesCount. 【参考方案1】:使用此代码
cell.goldRect.frame = CGRectMake(cell.goldRect.frame.origin.x, cell.goldRect.frame.origin.y, 28*numGolds, 20);
在您的情况下,您不会更改黄金矩形高度,因为您将其设置为 cell.goldRect.frame.size.height。和以前一样。
【讨论】:
嗯,没改。。。我觉得也和我的约束有关以上是关于在 Objective-C 中以动态和编程方式调整 UIView 的大小的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Objective-C 中以编程方式检查协议是不是包含某些方法?
如何在Objective-C中以编程方式而不是由用户控制UISwitch的状态?
如何在Objective-C中以编程方式发送带有一些正文文本的短信[重复]
在 Objective-C Xcode 5 中以编程方式创建视图