UISearchBar не отвечает в альбомной ориентации, но прекрасно в портретной на iPad - PullRequest
0 голосов
/ 16 мая 2011

У меня есть ошибка в приложении, над которым я работаю, относительно UISearchBar.

Использование кода:

    int width = 250;
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(768 - width - indent, companySelectionButton.frame.origin.y + (companySelectionButton.frame.size.height - 44)/2, width, 44)];
[searchBar setAutoresizingMask: UIViewAutoresizingFlexibleLeftMargin];
[searchBar setPlaceholder:[Globals localisedString:@"Search by Code or Name"]];
[searchBar setAutocorrectionType:UITextAutocorrectionTypeNo];
[searchBar setDelegate:self];
[self.view addSubview:searchBar];
[searchBar release];
[[searchBar.subviews objectAtIndex:0] removeFromSuperview];

Панель поиска находится в желаемой позиции в обеих ориентациях, но он не реагирует на нажатия в альбомной ориентации и становится первым респондентом / показывает клавиатуру.

Я попытался закомментировать следующие строки, чтобы посмотреть, помогает ли это, но не исправляет это:

[searchBar setAutoresizingMask: UIViewAutoresizingFlexibleLeftMargin];

[[searchBar.subviews objectAtIndex:0] removeFromSuperview];

У кого-нибудь еще была похожая проблема?

Заранее спасибо:)

РЕДАКТИРОВАТЬ

После комментирования [searchBar setDelegate: nil];панель поиска может стать первым респондентом во всех направлениях.Но, конечно, мне нужен делегат, чтобы иметь возможность использовать панель поиска!Есть идеи???Будет ли продолжаться игра, возможно, мне не хватает какого-то делегатского метода?

Ответы [ 2 ]

1 голос
/ 16 мая 2011

Перерисовка рамки панели поиска в willRotateToInterfaceOrientation решает проблему.

0 голосов
/ 17 мая 2011

Извините всех, я обнаружил, что случайно сделал что-то странное в моем делегатском методе searchBarTextDidBeginEditing, который отказался от панели поиска в качестве первого респондента, если устройство было в альбомной ориентации.

Этот вопрос никому не нужен,я должен удалить это?

...