iOS科普一下根View及其子View中心点含义的坑

本文探讨了iOS中View的中心点含义,解释了为何直接将子View的中心设置为其父View的中心可能导致问题,尤其是在涉及多级嵌套时。文章通过实例展示了根View与子View中心点的不同,并提供了正确设置子View中心位置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文简单介绍了根View以及子View中心的含义。解答了为什么根View的直接子View可以用childView.center = parentView.center来设置中心,但childView的子View不可以这样做的原因。

中心什么意思!?废话?

的确,中心是什么意思,不是废话么?中心不就是中心么?

在这里插入图片描述
不过严格来说,在iOS里view的中心(view.center)是其矩形中心点在其父View中的坐标。

既然是矩形的中心点,意味着和view的长宽尺寸有很大联系。view的长和宽变了,其中心点自然会改变。

假设一个外观为(width:100,height:50)的view,自身的中心点就在(100/2,50/2).注意这里的中心点是相对于view自身坐标系的。

貌似很简单,但实际有坑

我们来写段代码测试一下:

override func viewDidLoad() {
        super.viewDidLoad()
                
        let subView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 150))
        subView.backgroundColor =
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大熊猫侯佩

赏点钱让我买杯可乐好吗 ;)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值