2012-02-25 19 views
22

Tôi có Bộ điều khiển Điều hướng với Bộ điều khiển Chế độ xem hiển thị nút. Nút này được liên kết với một Trình điều khiển Chế độ xem khác bằng cách sử dụng phân đoạn đẩy tự động thêm thanh điều hướng trên cùng với nút quay lại. Điều này tất cả hoạt động tốt. Nhấn nút quay lại sẽ trượt khỏi chế độ xem thứ 2 và quay lại chế độ thứ nhất.Loại bỏ chế độ xem được đẩy từ trong Bộ điều khiển Điều hướng

Tôi có nút trên Bộ điều khiển chế độ xem thứ 2, khi nhấn chạy một số mã và cuộc gọi đại biểu trở lại Trình điều khiển chế độ xem thứ nhất. Một lần nữa điều này hoạt động tốt.

Bây giờ tôi chỉ cần loại bỏ lần xem thứ 2 Xem mã từ như thể nút quay lại được nhấn. Tôi đã thử bằng cách sử dụng dismissModalViewCcontrollerAnimated và dismissViewControllerAnimated, tuy nhiên cả hai đều loại bỏ toàn bộ Trình điều khiển Điều hướng loại bỏ chế độ xem 2 và 1 (trở về trang trình đơn chính của tôi).

Cách chính xác để trượt chế độ xem.

+0

Bạn có thể gửi mã bạn sử dụng để kiểm tra? – sch

Trả lời

36

Lấy một tham chiếu đến UINavigationController của bạn và gọi

- (UIViewController *)popViewControllerAnimated:(BOOL)animated 

trên đó.

+7

Cảm ơn. Điều đó đặt tôi vào đúng con đường để tìm kiếm nhanh chóng trên Google. Điều này làm việc [self.navigationController popViewControllerAnimated: YES]; – Darren

9

Trong Swift nó sẽ được gọi phương thức

self.navigationController?.popViewControllerAnimated(true) 
2

Trong nhanh chóng bạn cũng có thể gọi:

self.navigationController?.popToRootViewControllerAnimated(true) 
1

On Objective-C là

[self.navigationController popViewControllerAnimated:YES]; 

cho một bước nhảy đến đầu tiên root bộ điều khiển

[self.navigationController popToRootViewControllerAnimated:YES]; 

hoặc là một động thái có thể điều khiển cụ thể

[self.navigationController popToViewController:(nonnull UIViewController *) animated:(BOOL)]; 

hoạt hình cụ thể quá trình hoạt hình của di chuyển bộ điều khiển. Nếu hoạt ảnh là false bộ điều khiển sẽ xuất hiện mà không có hoạt ảnh. Các UIViewController phải là từ một trong đó là trên ngăn xếp.

2

Nếu chúng ta sử dụng push segue, sau đó sử dụng popViewController

@IBAction func backButtonClicked(_ sender: Any) { 
    self.navigationController?.popViewController(animated: false) 
} 
Các vấn đề liên quan