2015-08-17 12 views
7

tôi có các thiết lập sau:Thư giãn Segue từ Modal/Popover dẫn đến các cuộc gọi Unbalanced để bắt đầu/chuyển tiếp xuất hiện cuối

Nav Controller -> VC1 -Push -> VC2 -PopOver hoặc phương thức Segue -> VC3.

VC3 đang quay trở lại VC1.

Khi Segue từ VC2 để VC3 là PopOver và Modal, các Thư giãn kết thúc bằng một cảnh báo: cuộc gọi Unbalanced để bắt đầu/kết thúc quá trình chuyển đổi diện mạo cho UIViewController"

Nếu Segue từ VC để VC là đẩy, cảnh báo đã biến mất.

enter image description here Bất kỳ ý tưởng làm thế nào để thoát khỏi cảnh cáo hoặc tại sao thậm chí nó hiển thị?

+0

vẫn đang diễn ra ... – DogCoffee

Trả lời

7

đó là một lỗi. bỏ qua nó (hoặc, nếu bạn muốn trở thành một công dân tốt, nộp báo cáo lỗi với Apple).

0

Tôi đã có thể tái tạo vấn đề của bạn và tìm ra giải pháp!

Sẽ là tuyệt vời nếu logic thư giãn sẽ giải quyết vấn đề này. Có lẽ đó là một lỗi, có thể không. Dù bằng cách nào, các giải pháp là để làm cho VC2 (Bộ điều khiển có cửa sổ bật lên) mục tiêu của tua lại, sau đó chờ cho nó để kết thúc xuất hiện trước khi bật lên bộ điều khiển nav. Điều đó đảm bảo hoạt ảnh tua lại (đảo ngược bật lên) có đủ thời gian để hoàn thành trước khi di chuyển trở lại. Ngay cả với các hoạt ảnh tắt, nó vẫn phải chờ đợi hoặc nếu không bạn nhận được lỗi.

Mã của bạn cho VC2 phải như sau. (Swift)

class VC2: UIViewController { 
    private var unwind = false 
    @IBAction func unwindToVC1(segue:UIStoryboardSegue) { 
     unwind = true 
    } 

    override func viewWillAppear(animated: Bool) { 
     super.viewWillAppear(animated) 

     if unwind { 
      self.navigationController?.popViewControllerAnimated(false) 
     } 
    } 
} 
Các vấn đề liên quan