2009-03-27 33 views
8

Tôi có một cách để ẩn nút quay lại được sử dụng bởi bộ điều khiển điều hướng. Nó được thiết lập bởi bộ điều khiển trước đó, không phải là trình quản lý chế độ xem hiện tại và điều đó khiến cho việc này trở nên khó khăn. Tôi cần làm điều này trong chế độ chỉnh sửa để tôi có thể ngăn người dùng điều hướng khỏi màn hình.Có cách nào tốt hơn để ẩn backBarButtonItem không?

if(self.editing) { 
    // Get rid of the back button 
    UIView *emptyView = [[UIView alloc] init];; 
    UIBarButtonItem *emptyButton = [[[UIBarButtonItem alloc] initWithCustomView:emptyView] autorelease]; 
    [self.navigationItem setLeftBarButtonItem:emptyButton animated:YES]; 
} else { 
    // Restore the back button 
    [self.navigationItem setLeftBarButtonItem:nil animated:YES];   
} 

Có cách nào tốt hơn để thực hiện việc này không?

Trả lời

44

sử dụng này để ẩn trở lại nút

[self.navigationItem setHidesBackButton:YES] 

sử dụng này để hiển thị lại nút

[self.navigationItem setHidesBackButton:NO] 
+2

Điều đó có hiệu quả, cảm ơn. Có một khác biệt nhỏ - không có hoạt ảnh. Tôi đã giải quyết điều đó với các phiên bản sau: [self.navigationItem setHidesBackButton: YES animated: YES]; [self.navigationItem setHidesBackButton: NO animated: YES]; –

+0

Hãy chắc chắn để đặt mã này vào ViewController nơi bạn muốn nút ẩn - không phải là bộ điều khiển trước đó (mà câu hỏi ban đầu yêu cầu). –

1

Dưới đây là phương pháp tôi sử dụng trong điều khiển điểm của tôi để hiển thị và ẩn các nút quay lại khi chỉnh sửa được kích hoạt và bị vô hiệu hóa:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated 
{ 
    if (editing) { 
     // Disable the back button 
     [self.navigationItem setHidesBackButton:YES animated:YES]; 
    } 
    else { 
     // Enable the back button 
     [self.navigationItem setHidesBackButton:NO animated:YES]; 
    } 

    [super setEditing:editing animated:animated]; 
} 
0

Làm cho ổ cắm mạnh mẽ (không yếu như mặc định) của b nút ar từ bảng phân cảnh cho bộ điều khiển chế độ xem của bạn. Mục đích không để mất tham chiếu khi bạn đặt nút thanh trái/phải thành không.

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