iPhone UITabBarController - трудно нажимаемые элементы - PullRequest
0 голосов
/ 15 марта 2011

У меня действительно странная проблема с моим приложением, использующим UITabBarController.

Во-первых, я создаю панель вкладок программно и не использую NIB, ala:

tabBarController = [[UITabBarController alloc] init];
NSMutableArray *localControllersArray = [[NSMutableArray alloc] initWithCapacity: 3];
UINavigationController *nav;

VisitViewController *viewVisit = [[VisitViewController alloc] initWithTabBar];
nav = [[UINavigationController alloc] initWithRootViewController: viewVisit];
[localControllersArray addObject:nav];
[nav release];
[viewVisit release];

// ... other tabs, same format as previous

tabBarController.viewControllers = localControllersArray;
[localControllersArray release];
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];

Еще одна вещь, которую стоит отметить, это то, что в каждом добавляемом контроллере я вызываю "self.title = 'Tab Title';"установить текст заголовка.Я сомневаюсь, что это имеет значение.

В любом случае, все работает и отображается нормально - проблема, с которой я столкнулся, заключается в том, что, если я нажимаю на нижнюю половину изображения вкладки, ничего не происходит.Я должен щелкнуть выше отметки 50%, чтобы получить элемент вкладки для выбора и изменения вкладок.

Если вы посмотрите на приложения панели вкладок, то есть естественный градиентный разрыв вниз по середине по горизонтали.В основном, что-нибудь ниже этой строки, я не могу нажимать, чтобы переключать вкладки.Это действительно раздражает, потому что на устройстве это заставляет вас нажимать на вкладку снова и снова, пока вы не достигнете этой отметки, и это кажется очень вялым.На других вкладках приложений, таких как Twitter, он работает отлично.

Есть идеи?

1 Ответ

0 голосов
/ 15 марта 2011

Я понял это. Я использовал:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
self.window = [[UIWindow alloc] initWithFrame:screenRect];

Должно быть, это отрезало кликабельную область моих представлений и каким-то образом отрезало панель вкладок. Я изменил это на:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

И это исправило мою проблему.

...