在 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 中以编程方式创建视图

如何在 Objective-C 控制器中以编程方式加载用 swift 编写的自定义 XIB 视图

使用 Objective-C 中的 Xcode 在 iOS 中以编程方式制作 UI 元素