Поместите всплывающее окно в определенном месте - PullRequest
0 голосов
/ 19 августа 2010

Сценарий: У меня есть UITabBar на вершине моего контроллера представления. На панели вкладок есть несколько кнопок. Когда пользователь нажимает на любую кнопку, я хочу отобразить всплывающее окно под кнопкой, которая была нажата.

Я могу без проблем отобразить всплывающее окно, но не могу понять, как определить местоположение нажатой кнопки, поскольку UITabItem не предоставляет структуру кадра.

Как мне решить мою проблему?

1 Ответ

0 голосов
/ 19 августа 2010

Вы можете самостоятельно рассчитать фрейм UITabBarItem:

CGFloat tabItemWidth = tabBar.bounds.size.width / [tabBar.items count];
CGRect tabItemFrame = CGRectMake(tabItemWidth * [tabBar.items indexOfObject:tabBar.selectedItem], 0, tabItemWidth, tabBar.bounds.size.height);

(я не пробовал этот код, но он или что-то вроде этого должно работать).

Или вы должны иметь возможность создавать подклассы UITabBar и переопределять прикосновенияEnded: withEvent :. В этом методе сохраните местоположение касания в иваре. Затем в закладке вашего UITabBarDelegate: didSelectItem: вы можете использовать местоположение касания.

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