2011-11-22 12 views
26

Sau một số nghiên cứu trên web mà không thành công, tôi đến đây để hỏi bạn câu hỏi về cảnh báo của tôi.Cảnh báo "Chuyển đổi cuộc gọi không cân bằng để bắt đầu/kết thúc xuất hiện" khi nhấn một chế độ xem theo cách thức trong XCode 4 với Storyboard

Thực ra, tôi có chế độ xem V1 với bộ điều khiển điều hướng và tôi muốn đẩy chế độ xem phương thức V2 khi V1 đã tải xong. Vì vậy, tôi sử dụng phương thức performSegueWithIdentifier (Tôi đang sử dụng bảng phân cảnh). Đây là mã của tôi:

[self performSegueWithIdentifier:@"showConnexionViewSegue" sender:self]; 

Và khi tôi biên dịch, tôi đã cảnh báo này:

Unbalanced calls to begin/end appearance transitions for <UINavigationController: 0x6849b30> 

bất cứ ai có thể giúp tôi?

Trả lời

57

Có vẻ như bạn có thể đang thực hiện phân đoạn trong -viewWillAppear: do đó tạo hai thông báo -viewWillAppear: mà không có 2 thông báo -viewDidAppear tương ứng.

Thử thực hiện segue trong -viewDidAppear.

+0

Có chính xác! Nó hoạt động! Cảm ơn rất nhiều ! – Vinestro

+0

Giải quyết nó cho tôi quá. – OlivaresF

+5

Tôi đã gặp phải điều này bằng cách thực hiện segue trong '-viewDidLoad', và tôi đã làm việc xung quanh nó bằng cách gọi' performSegue' bên trong một 'performSelector: withObject: afterDelay' với độ trễ là 0, nhưng điều đó là lộn xộn.Sửa lỗi này cho phép tôi gọi 'performSegue' trực tiếp trong' -viewDidAppear: '. Cảm ơn! –

5

Tôi có vấn đề này, nhưng những gì tôi đã làm là trên UIViewController tôi đã liên kết một Segue từ một UIButton và cũng được mã hóa nó thành một chức năng nextBtnPressed:, vì vậy tôi đã thực sự đẩy hai mới UIViewControllers trên một nút bấm. Hạn chế nó chỉ là một segue cố định nó. Nhưng phải mất một số điều tra để thấy rằng tôi đã làm điều này tăng gấp đôi.

1

Lý do cho điều này là đa dạng và rất cụ thể đối với ngữ cảnh và lập trình. Ví dụ, những gì tôi đang làm là

  1. initialising một tập tin âm thanh, chơi nó (không đồng bộ) cho 1,4 giây,
  2. làm một động thái hình ảnh trên màn hình sử dụng hình ảnh động hẹn giờ để kéo dài 1,4 giây và
  3. với bộ hẹn giờ được đặt thành 1,4 giây sau bước 2, hãy đẩy một bộ điều khiển xem.

Điều tôi phát hiện ra là nếu tôi KHÔNG có hướng dẫn cho 3 bước này sau bước khác (nếu tôi trộn chúng), thì tôi gặp lỗi "Cuộc gọi không cân bằng ...". Ngoài ra, nếu tôi đẩy thời gian của bộ điều khiển xem xuống dưới 1,4 giây, tôi cũng nhận được thông báo.

Vì vậy, hãy kiểm tra xem trình tự và thời gian của hướng dẫn chương trình của bạn có chính xác hay không.

5

'Unbalanced gọi để bắt đầu/chuyển tiếp xuất hiện cuối cho'

Says một hình ảnh động được bắt đầu trước khi các isnt hoạt hình liên quan cuối cùng thực hiện. Vì vậy, bạn có bật bất kỳ bộ điều khiển xem nào trước khi đẩy bộ điều khiển mới không? Hoặc có thể xuất hiện ở gốc? nếu có, hãy thử làm như vậy mà không có hoạt ảnh tức là [self.navigationController popToRootViewControllerAnimated: NO];

Và xem điều này có giải quyết được vấn đề không, trong trường hợp của tôi, điều này đã thực hiện thủ thuật.

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