2011-11-04 25 views
6

Tôi có bộ điều khiển chế độ xem đơn giản với uisearchbaruitable. Vấn đề của tôi là khi thanh tìm kiếm được khai thác tôi thấy chức năng đại biểu searchBarShouldBeginEditing được gọi nhưng không searchBarTextDidBeginEditing (và vì bàn phím mà không được mở ra và tìm kiếm không thể chỉnh sửa)Thanh tìm kiếm không gọi tìm kiếmBarTextDidBeginChỉnh sửa

Tôi cố gắng để thực hiện chức năng đại biểu searchBarShouldBeginEditing trở YES, thiết lập thanh tìm kiếm như trả lời đầu tiên, nhưng không có cách nào tôi nhận được searchBarTextDidBeginEditing gọi ...

Bất kỳ ý tưởng gì có thể xảy ra ??

Một số mã:

controller.h

@interface ViewController : UIViewController <UISearchBarDelegate> 
{ 
    UISearchBar * searchbar; 
} 

@property (nonatomic, retain) IBOutlet UISearchBar* searchbar; 

@end 

controller.m

@synthesize searchbar; 

- (BOOL)respondsToSelector:(SEL)sel { 
    NSLog(@"Queried about %@", NSStringFromSelector(sel)); 
    return [super respondsToSelector:sel]; 
} 

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar { 
    NSLog(@"searchBarShouldBeginEditing -Are we getting here??"); 
    return YES; 
} 
-(void) searchBarTextDidBeginEditing:(UISearchBar *)searchBar { 
    NSLog(@"searchBarTextDidBeginEditing -Are we getting here??"); 
} 

Trong cousrse lớp học của tôi có mã nhiều hơn (mà chắc chắn là ảnh hưởng bằng cách nào đó Searchbar) nhưng nếu ai đó đã có các vấn đề tương tự với thanh tìm kiếm, nó sẽ được trả lời rất sớm;)

Tôi tryed để làm cho ứng dụng đơn giản chỉ với thanh tìm kiếm và hiển nhiên nó hoạt động ...

SOẠN:

Kiểm tra một chút tôi phát hiện ra rằng nó không phải là một cái gì đó liên quan với UISearchBar như tôi thêm một TextField nhận cùng kết quả (chỉ textFieldShouldStartEditing chức năng đại biểu được gọi là)

ứng dụng có tất cả các bộ điều khiển xem bên trong một cotroller UITabBar, nhưng tôi không nghĩ rằng điều này có thể gây ra nông nỗi này ...

EDITING2:

Thật kỳ lạ hành vi: Thiết IBAction chức năng để Touchdown trường hợp của một UITextField hoạt động hoàn hảo nhưng thiết IBAction chức năng để EditingDidBegin không bao giờ bị sa thải ...

Tại sao sự kiện này không thể được gọi là ??

+0

Bạn có thể đăng mã của mình không? – Raptor

+0

Tôi đang có hành vi ngược lại trên searchBar của mình. Tôi nhận được searchBarTextDidBeginChỉnh sửa nhưng không tìm kiếmBarShouldBeginChỉnh sửa ... Có thể Apple đã làm hỏng điều gì đó trong SDK mới nhất? Bạn đang sử dụng SDK nào? – Mark

+0

Tôi xin lỗi, nhưng tôi đã không còn mã ... Tôi nghĩ rằng tôi đã giải quyết nó tái tạo toàn bộ dự án (và vẫn không biết những gì đã được lấp đầy trong đó đầu tiên.) –

Trả lời

13

bạn đã đặt thuộc tính đại biểu chưa?

searchbar.delegate = self; 
+0

Tôi đã làm cả hai cách thông qua xây dựng giao diện, và mã thông qua (và cả hai cùng một lúc XD) Dù sao tôi không nghĩ rằng đây là vấn đề như là một trong những chức năng đại biểu làm được gọi là (searchBarShouldBeginEditing).Cảm ơn câu trả lời bằng cách này! –

0

Có thể bạn ở đâu đó, hãy gọi [searchbar resignFirstResponder]. Đó là trường hợp trong vấn đề tương tự của tôi.

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