2015-05-28 14 views
12

Tôi có những ViewControllers thêm vào trong kịch bản:hình ảnh động Weird khi thay đổi NavigationItem nhắc

enter image description here

Không được kết nối với một lớp tùy chỉnh, mọi thứ đều từ kịch bản thuần túy.

Video on iPhone simulator on iOS7

này chỉ xảy ra khi sử dụng AutoLayout trên iOS7.

Có ai khác nhìn thấy điều này không?

Download sample project of problem

+0

Bạn đang đề cập đến cách mà tiêu đề đến từ giữa viewController? – Woodstock

+0

Chủ yếu là nhãn có văn bản "WTF?" Điều đó có vẻ lạ – Arbitur

+0

Nếu bạn nhìn vào hình ảnh của tôi, bạn có thể thấy rằng tôi đã thêm nhãn bằng cách sử dụng bảng phân cảnh và nó đang sử dụng tự động trả lời. Và trong video, bạn có thể thấy hoạt ảnh chuyển tiếp kỳ lạ mà tôi không thêm vào, nó chỉ là một hành động Hiển thị đơn giản. – Arbitur

Trả lời

3

Chỉnh sửa 2:

Là một mentionned trong các ý kiến, tôi không thể để tạo lại vấn đề với dự án mẫu của bạn. Tuy nhiên, một điều tôi nhận thấy là dự án của bạn được cấu hình với một mục tiêu triển khai là iOS 8.3. Dưới đây là các bước để khắc phục điều đó:

Bước 1: Chọn dự án của bạn trong Project Navigator của Xcode. Bước 2: Hãy chắc chắn rằng bạn chọn dự án của bạn ở cột bên trái của trình biên tập dự án và không phải là mục tiêu Bước 3: Chọn tab Cài đặt Build Bước 4: Sửa đổi iOS Deployment Target-iOS 7.1 hoặc iOS 7.0 tùy thuộc vào hệ điều hành bạn đang thử nghiệm. Bước 5: Tạo và chạy.

Hy vọng điều này sẽ giúp bạn.

Edit:

Bước 1. Chọn UIViewController của bạn với nhãn 14 và trong tab thứ ba của ngăn bên phải của Xcode, nhập ID Storyboard như vc14.

Bước2. Chọn UIViewController của bạn với nhãn 12 và trong cùng một tab, nhập một lớp tùy chỉnh như ViewController.

Bước 3. Xóa tác vụ kích hoạt segue khỏi Nút của bạn và thay thế nó bằng một @IBAction trong ViewController

Bước4. Thêm mã này để @IBAction của bạn trong ViewController:

@IBAction func push(sender: AnyObject) { 
    var vc14 = self.storyboard?.instantiateViewControllerWithIdentifier("vc14") as! UIViewController 
    vc14.view.layoutIfNeeded() 
    self.navigationController?.pushViewController(vc14, animated: true) 
} 

Giải thích:

Các hình ảnh động kỳ lạ đang xảy ra bởi vì bố trí chưa bao giờ xảy ra trước khi segue đẩy UIViewController trong UINavigationController. iOS 7 không bảo vệ phù hợp với kịch bản như vậy bằng cách gọi thủ công layoutIfNeeded trước khi nhập khối hoạt ảnh và khi bố cục cuối cùng xảy ra, nó sẽ kích hoạt hoạt ảnh ngầm. Trong mẫu mã tôi đã cung cấp cho bạn, tôi tự kích hoạt bố cục trước khi đẩy ViewController trên ngăn xếp để tránh sự cố này.

+0

Trước tiên, hãy thử thay đổi lời nhắc trong khối giống như cách bạn đã sử dụng. – Dalzhim

+0

Không hoạt động. :( – Arbitur

+0

Tôi thực sự không có ý tưởng làm thế nào các F táo mã này nhưng nó cảm thấy rất xấu bằng văn bản ... – Arbitur

0

tôi nghĩ bạn nhấn ⌘T. do đó hoạt ảnh chậm sẽ bắt đầu. Kiểm tra tất cả Trình mô phỏng bạn sử dụng.

Gỡ lỗi-> Hoạt ảnh chậm

Tôi đính kèm Kiểm tra hình ảnh. See Image

+0

Đó là những gì tôi đã làm trong video mà tôi đã liên kết tới. – Arbitur

4

Tôi nghĩ rằng sự cố này xảy ra khi chế độ xem đang nhận tự động điền và đặt kích thước thành kích thước màn hình chính. Trong ios7 chuyển động đẩy hoạt hình đến trước khi kích thước xem được thiết lập để chúng ta có thể thấy rằng hình động. Đừng lo lắng nó hoạt động tốt trong ios8.0 và sau đó. Đối với ios 7.0, bạn có thể cung cấp kích thước khung nhìn trong viewDidLoad để nó có thể điều chỉnh kích thước trước khi nó xuất hiện.

Các vấn đề liên quan