2014-12-09 30 views
47

Ngay bây giờ tôi có hai bộ điều khiển xem. Vấn đề của tôi là tôi không biết làm thế nào để ẩn nút quay lại sau khi thay đổi thành bộ điều khiển xem thứ hai. Hầu hết các tài liệu tham khảo mà tôi tìm thấy trong mục tiêu-C. Làm thế nào tôi mã nó nhanh chóng?Swift - Cách ẩn nút quay lại trong mục điều hướng?

Hide lại nút mã trong Objective-C

[self.navigationItem setHidesBackButton:YES animated:YES]; 

Trả lời

188

Straight từ UINavigationItem class reference documentation -

self.navigationItem.setHidesBackButton(true, animated:true); 
+20

các snarkiness là miễn phí. – Greg

+1

Đáng sợ câu trả lời có 8 phiếu bầu, do đó, điều đó có nghĩa là ít nhất một vài người khác đã tìm kiếm điều tương tự. – Paulw11

+28

Nó có thể làm bạn hoảng sợ @ Paulw11, nhưng thực tế đơn giản là gõ "Swift ẩn nút quay lại" vào Google và đến đây - như tôi vừa làm - là * tấn * nhanh hơn cày qua các đoạn văn bản trong tài liệu chính thức. –

19

Trong trường hợp của tôi nó chỉ làm việc theo cách này:

override func viewWillAppear(animated: Bool) { 
    super.viewWillAppear(animated) 
    self.tabBarController?.navigationItem.hidesBackButton = true 
} 
+0

Tương tự đối với tôi, tuy nhiên tôi muốn hiểu tại sao. Có ai biết sự khác biệt giữa câu trả lời được chấp nhận và cách tiếp cận này là gì? Điều duy nhất tôi có thể nghĩ đến là mô hình kế thừa so với phiên bản tĩnh của thanh điều hướng. –

+0

Rất cám ơn bạn. Điều này tiết kiệm rất nhiều thời gian. :) –

+1

@HelmutGranda Nếu bạn nhận thấy rằng Bruno đang sử dụng một Tab Bar Controller, đó là sự khác biệt. Trong trường hợp câu trả lời được chấp nhận, VC có thể được nhúng trong bộ điều khiển điều hướng. – cloudcal

2

Bạn có thể thử với mã bên dưới

override func viewDidAppear(_ animated: Bool) { 
    self.navigationController?.isNavigationBarHidden = true 
} 
-1

Bạn có thể thử mã này

self.navigationController?.setNavigationBarHidden(true, animated: false) 

Ẩn hoặc hiển thị thanh điều hướng. Nếu hoạt hình, nó sẽ chuyển theo chiều dọc sử dụng UINavigationControllerHideShowBarDuration

open func setNavigationBarHidden(_ hidden: Bool, animated: Bool) 
2

này cũng được tìm thấy trong các tài liệu hướng dẫn lớp UINavigationController:

navigationItem.hidesBackButton = true 
Các vấn đề liên quan