UISearchBar с UINavigationController - PullRequest
       0

UISearchBar с UINavigationController

0 голосов
/ 10 ноября 2011

Я добавил UISearchBar и UISearchDisplayController с UINavigationController.Поскольку нам нужно было несколько кнопок на панели навигации, я создал собственное представление, содержащее несколько кнопок, и поместил его как rightBarButtonItem.Я замечаю, что когда я нажимаю на панель поиска, клавиатура поднимается снизу, а также перемещает панель навигации UINavigationController за пределы экрана.Так что теперь я не вижу, что я ввожу в свой UISearchBar.Есть ли способ обойти это?Я видел другие приложения, которые, похоже, используют UINavigationBar + несколько кнопок на LHS или RHS панели навигации, поэтому я предполагаю, что это возможно.Спасибо.

UIButton *homeButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 44, 44)];
UIImage *house = [UIImage imageNamed:@"icon_house.png"];
[homeButton setImage:house forState:UIControlStateNormal];
[homeButton addTarget:self action:@selector(homePressed:) forControlEvents:UIControlEventTouchUpInside];

UIButton *filterButton = [[UIButton alloc] initWithFrame:CGRectMake(49, 0, 44, 44)];
[filterButton setTitle:@"Filter" forState:UIControlStateNormal];
[filterButton addTarget:self action:@selector(FilterButtonPressed:) forControlEvents:UIControlEventTouchUpInside];

self.SearchEntry = [[[UISearchBar alloc] initWithFrame:CGRectMake(98, 0, 150, 44)] autorelease];
self.SearchEntry.delegate = self;
UISearchDisplayController *searchDisplayCtlr = [[UISearchDisplayController alloc] initWithSearchBar:_searchEntry contentsController:self];
searchDisplayCtlr.searchResultsDataSource = self;
searchDisplayCtlr.searchResultsDelegate = self;
searchDisplayCtlr.delegate = self;


UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 248, 44)];
[containerView addSubview:homeButton];
[containerView addSubview:filterButton];
[containerView addSubview:_searchEntry];

1 Ответ

0 голосов
/ 13 ноября 2011

Попробуйте настроить contentSize из UIScrollView. Также, пожалуйста, позаботьтесь о Иерархии элементов управления, которые вы взяли. Не держите UINavigationBar и UISearchView в ScrollView, тогда он не будет двигаться и останется зафиксированным в их положении

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...