gpt4 book ai didi

ios - Objective-C 中 ParentView 的中心 subview

转载 作者:行者123 更新时间:2023-11-29 00:52:28 25 4
gpt4 key购买 nike

我有以下代码:

UIView *parentView = [[UIView alloc] init];
parentView.frame = CGRectMake(0, 0, 100, 100);

parentView.center = self.view.center;

parentView.backgroundColor = [UIColor greenColor];

UIView *subView = [[UIView alloc] init];

subView.backgroundColor = [UIColor redColor];

subView.frame = CGRectMake(0, 0, 50, 50);

subView.center = parentView.center;

[parentView addSubview:subView];

[self.view addSubview:parentView];

产生以下结果:

enter image description here

为什么红色 View 不在绿色 View 的中心,因为它们具有相同的中心?

最佳答案

Apple UIView 文档对 center 属性进行了说明:

The center is specified within the coordinate system of its superview and is measured in points. Setting this property changes the values of the frame properties accordingly.

这意味着 parentView 中心将相对于其父 View (您的屏幕截图的白色背景 View )。

要获得所需的结果,您需要执行以下操作:

subview.center = CGPointMake(CGRectGetMidX(parentView.bounds),
CGRectGetMidY(parentView.bounds));

但是您确实应该使用自动布局来处理此类事情。

关于ios - Objective-C 中 ParentView 的中心 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37970404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com