2009-07-12 56 views
6

Xin chào tôi có một ABPeoplePickerNavigationController, khi tạo được đặt navigationBar bị ẩn.IPHONE: ABPeoplePickerNavigation Thanh điều hướng ẩn của thanh điều khiển

peoplePickerController.navigationBar.hidden = YES; 

này làm việc một cách hoàn hảo, vấn đề duy nhất là khi người dùng chạm vào tìm kiếm hộp để tìm kiếm một người, khi ông trở về từ tìm kiếm, Navigationbar được tái hiển thị ,. Làm thế nào tôi có thể nhận được thông báo về điều này và làm cho thanh điều hướng bị ẩn lần nữa?

Tôi cũng nghĩ đây là lỗi táo, vì trong các trường hợp thông thường khi tìm kiếm được khai thác, thanh điều hướng bị ẩn để tạo thêm chỗ trống, và sau đó hiển thị, nhưng nó không tính đến thực tế là thanh có thể đã bị ẩn trong địa điểm đầu tiên.

Mọi mẹo đều được hoan nghênh.

Trả lời

22

Phương pháp an toàn và đơn giản nhất là theo dõi thời gian ẩn/hiển thị bàn phím.

- (void)keyboardWillHide:(NSNotification *)notification 
{ 
    peoplePickerController.navigationBar.hidden = YES; 
} 

- (void)hideNavbarAndKeepHidden 
{   
    peoplePickerController.navigationBar.hidden = YES; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; 
} 

- (void)dealloc 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
    [super dealloc]; 
} 
+2

Thưa bạn, bạn chỉ giành được 100 điểm danh tiếng, cảm ơn rất nhiều :). – daniel

+1

Bạn đang rất hoan nghênh. Và như người bình luận khác đã đề cập, nó thực sự là một lỗi và nên được đệ trình với Apple (bao gồm một dự án thử nghiệm đơn giản để có kết quả tốt nhất) – rpetrich

3

Nếu bạn tin rằng đây là lỗi, bạn nên gửi nó đến http://bugreporter.apple.com.

Với tôi nó cũng giống như một lỗi, nhưng tôi sẽ kiểm tra kỹ tài liệu để đảm bảo. Nếu nó không đề cập đến bất cứ điều gì, sau đó tôi đề nghị báo cáo lỗi.

Chỉnh sửa: Mặt khác, tôi cho rằng việc đặt thanh điều hướng ở đây bị ẩn là một ý tưởng tồi. Có lý do cụ thể nào để giấu nó không?

+1

Tôi có một thanh điều hướng khác đã thực hiện thao tác này. Điều này là bởi vì tôi không thể sửa đổi một trong đó đi kèm với bộ điều khiển, nó thực sự gây phiền nhiễu không thể sửa đổi việc sử dụng ABPeoplePickerNavigationController. – daniel

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