2013-05-11 3 views
0

В настоящее время я разрабатываю приложение для iPad с несколькими текстовыми полями, когда я нажимаю эти текстовые поля, я хочу, чтобы небольшое всплывающее окно (они будут содержать представления таблиц с параметрами и т. Д.), Все это отлично работает. Тем не менее, я хочу поместить стрелку, чтобы показать, какое текстовое поле вводит пользователь.Просмотреть границу со стрелкой

Лучший пример на iPad Safari, когда вы нажимаете на поиск, он поднимает вид со стрелкой вверху. Я видел их в разных приложениях и хочу сделать то же самое.

Любые идеи, как я это делаю?

+3

Вы ищете UIPopoverController? См. Http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/Popovers.html#//apple_ref/doc/uid/TP40011313-CH5-SW1. –

ответ

0

Используйте popoverController. Хороший стартер: http://www.youtube.com/watch?v=o3tW4h95-Cw&list=PL1824275972079B55.

Вместо подкласса viewcontroller, подкласс tableviewcontroller. Пропустите tableviewcontroller к initWithContentViewController/

Пример кода:

UIPopoverController *pop = [[UIPopoverController alloc]initWithContentViewController:yourtableviewcontroller]; 
[pop setDelegate:self]; 
[pop presentPopoverFromRect:popbutton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; 

Изменить направление в зависимости от ситуации.

0

Предположим, у вас есть представление (одно из текстовых полей) и viewController, которое вы хотите представить. Этот код будет содержать popover со стрелкой, указывающей на середину вашего представления. Вы можете использовать любую комбинацию UIPopoverArrowDirection (например, UIPopoverArrowDirectionUp | UIPopoverArrowDirectionDown). В этом примере popover покажет аналогично тому, как это происходит в Safari.

Используйте этот код, если вы хотите, чтобы ваш поповер появляться со стрелкой, указывающей в середине зрения:

UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:viewController]; 
CGRect rect = CGRectMake(CGRectGetMidX(view.frame) - 1, CGRectGetMidY(view.frame) - 1, 1, 1); 
[popoverController presentPopoverFromRect:rect inView:view permittedArrowDirections:UIPopoverArrowDirectionUp animated:animated]; 

Или использовать этот код, если вы хотите, чтобы ваш поповер появляться со стрелкой, указывающей в любую точку зрения:

UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:viewController]; 
[popoverController presentPopoverFromRect:view.frame inView:view permittedArrowDirections:UIPopoverArrowDirectionUp animated:animated]; 
Смежные вопросы