我对这个简单的UIViewController的约束有一个奇怪的问题。 我只有两个元素,而且正好:
1具有这些约束的UIButton: 1具有这些约束的PageControl: 问题出在iOS 8中。我已经连接了UIPageControl的BottomSpace约束来改变常量值(在iOS 7中完美地工作)。在iOS 8中,该值不会发生任何错误。我的代码很简单:
pageControlBottomConstraint.constant = 50
这两个iOS版本有什么区别?
答案 0 :(得分:8)
执行以下操作,
<强> 1。调用updateConstraintsIfNeeded
2.调用layoutIfNeeded(对于currentView和ViewYouWantToUpdate)
所以你的代码应该是
[pageControl updateConstraintsIfNeeded];
[self.view layoutIfNeeded];
[pageControl layoutIfNeeded];
如果您想为Constraints
<强>目标C 强>
[pageControl updateConstraintsIfNeeded];
[UIView animateWithDuration:.75f animations:^{
__weak __typeof__(self) weakSelf = self
[self.view layoutIfNeeded];
[pageControl layoutIfNeeded];
}
Swift 3.0:
pageControl.updateConstraintsIfNeeded()
UIView.animate(withDuration: 0.75) {
weak var weakSelf = self
weakSelf?.view.layoutIfNeeded()
weakSelf?.pageControl.layoutIfNeeded()
}