2014-10-14 16 views
6

Tôi có một vấn đề lạ với các ràng buộc của mình trên UIViewController đơn giản này. Tôi chỉ có hai yếu tố trong đó và chính xác:Cập nhật liên tục ràng buộc không hoạt động trên iOS 8

1 UIButton với những khó khăn này: Button Constraints 1 PageControl với những khó khăn này: PageControl Constraints Vấn đề là trong iOS 8. Tôi đã kết nối các BottomSpace Hạn chế của UIPageControl thay đổi giá trị không đổi (trong iOS 7 hoạt động hoàn hảo). Trong iOS 8 giá trị không thay đổi mà không có bất kỳ lỗi nào. Mã của tôi rất đơn giản:

pageControlBottomConstraint.constant = 50 

Sự khác biệt giữa hai phiên bản iOS là gì?

+0

[pageControl layoutIfNeeded]; Bạn có thể thử điều này không? –

+0

Có nhưng không có gì thay đổi :( –

Trả lời

6

làm như sau,

1. gọi updateConstraintsIfNeeded
2. gọi layoutIfNeeded (ví currentView và ViewYouWantToUpdate)

Vì vậy, bạn mã nên được

[pageControl updateConstraintsIfNeeded]; 
[self.view layoutIfNeeded]; 
[pageControl layoutIfNeeded]; 

nếu bạn muốn animate the Constraints

Objective-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() 
} 
Các vấn đề liên quan