das*_*ist 6 objective-c ios uistoryboard autolayout
我创建了一个UIView故事板,它完全位于具有自动布局的View Controller的中心,并且可以在不同的设备大小上正常工作.我叫这个largerView.
但是,我想以编程方式创建一个较小的UIView被调用smallerView和居中此视图,以便smallerView.center = largerView.center.
我遇到了一个问题,即在使用自动布局的情况下largerView,每当我使用上面的方法时,我都smallerView不会实际使用largerView.center.我注意到它将largerView根据我使用的设备的特定布局(在这种情况下,是之前的iPhone 5的尺寸),取出它们在Storyboard中出现的中心坐标,但不会受到自动布局影响的更新中心的影响.
这里可以讨论类似的问题,除非它基于Swift.我知道如何以编程方式创建约束,但我不确定如何在应用自动布局后获取视图的"刷新"坐标.
谢谢!
您需要在视图控制器中覆盖以下方法:
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
self.smallView.frame.center = self.largeView.frame.center;
}
Run Code Online (Sandbox Code Playgroud)
如果您的smallView是largeView的子视图:
self.smallerView.center = CGPointMake(self.largerView.frame.size.width / 2, self.largerView.frame.size.height / 2);
Run Code Online (Sandbox Code Playgroud)
如果您的smallView与greaterView具有相同的superview:
self.smallerView.center = self.largerView.center;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8388 次 |
| 最近记录: |