2013-05-17 30 views
8

tôi trình bày quan điểm phương thức mà là một bộ điều khiển chuyển hướng:dismissViewControllerAnimated kết quả trong màn hình trống

UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:photoEditVC]; 
[self presentViewController:nvc animated:YES completion:NULL]; 

Khi tôi đang thực hiện với quan điểm phương thức, bên trong bộ điều khiển có thể nhìn thấy nvc của:

[self.presentingViewController dismissViewControllerAnimated:YES completion:NULL]; 

quả Blank Screen

Bất kỳ ý tưởng nào tại sao điều này có thể xảy ra?

CẬP NHẬT: Tôi nhận thấy điều này chỉ xảy ra khi trước khi loại bỏ chế độ xem, tôi cập nhật giá trị trong một lớp đơn chia sẻ, tôi sử dụng để theo dõi các sự kiện.

[[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"]; 
[self dismissViewControllerAnimated:YES completion:NULL]; 

Nhưng nó hoạt động tốt nếu tôi làm điều này:

[[NSOperationQueue mainQueue] addOperationWithBlock:^{ 
    [[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"]; 
}]; 

hoặc tôi có thể làm điều này và nó cũng hoạt động tốt:

[self dismissViewControllerAnimated:YES completion:^{ 

      [[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"]; 
}]; 

Vào thời điểm đó, không có lớp khác quan sát mà biến vì vậy tôi không hiểu tại sao nó sẽ ảnh hưởng đến chế độ xem phương thức.

+1

Thực ra việc bạn gọi nó là tự hay self.presentingViewController thì cả hai đều hoạt động. Dù vấn đề của bạn là gì, đó không phải là mã bạn đã nói mà bạn đã sử dụng. – rdelmar

Trả lời

3

Không chắc chắn điều này đang gây ra màn hình đen, nhưng trình điều khiển chế độ xem được trình bày sẽ gọi hàm dismissViewController trên chính nó, chứ không phải trên trình điều khiển chế độ xem trình bày.

[self dismissViewControllerAnimated:YES completion:nil]; 
+1

Phải, như các tài liệu nói "nếu bạn gọi phương thức này trên trình điều khiển chế độ xem được trình bày, nó sẽ tự động chuyển tiếp thư tới trình điều khiển xem trình bày" –

+0

Cảm ơn câu trả lời nhưng đó không phải là vấn đề. Tôi đã cập nhật về vấn đề trên. –

3

Tôi đã thấy vấn đề này với iOS 8 GM. Loại bỏ với bộ hoạt hình để NO đã làm các trick.

+2

Đây là giải pháp như thế nào ?, * sigh * – M0rph3v5

+0

Đó là một giải pháp tạm thời cho đến khi Apple sửa chữa nó! Có thể bạn thay vào đó có thể sử dụng API chuyển tiếp tùy chỉnh iOS 7. –

+0

Tôi đang sử dụng Xcode 6.0.1 với Bộ công cụ phát triển iOS 8 chính thức và vấn đề dường như chưa được khắc phục. Tuy nhiên, việc đặt hoạt ảnh = NO vẫn khắc phục được sự cố. Cảm ơn rất nhiều! – Katlu

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