gpt4 book ai didi

ios - 更改 NSLayoutConstraint 在 iOS7 中不起作用

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

我在 viewDidLoad 中有这段代码

int height = 367 - self.vLayout.frame.size.height;
int adjustHeight = height / 2;
self.csPanelBottom.constant = adjustHeight - 2;
if (height % 2 != 0) {
adjustHeight += 1;
}
self.csPanelTop.constant = adjustHeight + 2;

这将调整面板以居中屏幕。一切正常,我得到了 iOS6 和 iOS7 的正确 adjustHeight

但是当我在 iOS7 上设置常量时它没有更新。布局仍然相同。

我不知道是什么原因导致的,因为我有另一个页面使用了这段代码的相同部分,而且这些页面没有这样的问题。

知道是什么导致了这个问题,我该如何解决?谢谢。

最佳答案

很可能,对于要填充的更改,您需要添加

[self.view setNeedsLayout];
[self.view layoutIfNeeded];

但是,将 View 与中心对齐并不是正确的方法。正确的方法是在 Interface Builder 中添加居中约束:

enter image description here

或者在代码中:

// Replace viewNeedingCenter and containerView with your actual views
[containerView addConstraint:
[NSLayoutConstraint constraintWithItem:viewNeedingCenter
attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual
toItem:containerView
attribute:NSLayoutAttributeCenterY
multiplier:1.0 constant:0]];

关于ios - 更改 NSLayoutConstraint 在 iOS7 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20946477/

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