Использование UISegmentedControl в нижнем колонтитуле UIPopoverController
В моем видоискателе iPad (iTunes Link), я пытаюсь воссоздать внешний вид UISegmentedControl, как видно из нижнего колонтитула Создание основной записи в popover:
![Keynote]()
iPad HIG предлагает использовать UIToolbar с нижним выравниванием, но внешний вид неверен. Этот снимок экрана показывает Black Opaque, но ни один из стандартных стилей не соответствует Keynote.
![Viewfinder]()
Приветствуются любые советы по воссозданию представления Keynote. Если у вас нет Keynote на iPad, вы можете увидеть ту же технику в нижнем колонтитуле Bookmarks popover в Maps.
Ответы
Ответ 1
Вам нужно установить toolbarItems
вашего верхнего UIViewController
в UIPopover
и настроить его правильно. Рассмотрим что-то вроде этого:
NSArray *segmentedItems = [NSArray arrayWithObjects:@"Bookmarks", @"Recents", @"Contacts", nil];
UISegmentedControl *ctrl = [[UISegmentedControl alloc] initWithItems:segmentedItems];
ctrl.segmentedControlStyle = UISegmentedControlStyleBar;
ctrl.selectedSegmentIndex = 0;
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:ctrl];
ctrl.frame = CGRectMake(0.0f, 5.0f, 320.0f, 30.0f);
NSArray *theToolbarItems = [NSArray arrayWithObjects:item, nil];
[self setToolbarItems:theToolbarItems];
[ctrl release];
[item release];
EDIT: теперь я получил его, просто не устанавливаю tintColor, он наследует правильный цвет (что бы это ни было). Снимок экрана ниже выглядит точно так же, как в приложении Google Maps:
alt text http://www.memorylifter.com/services/dev/linklist/SCREENSHOT_TABBAT.png
Ответ 2
Я просто столкнулся с этой проблемой. Вам нужно нажать UINavigationController в UIPopover. Затем ваше представление должно быть включено в этот контроллер навигации. Это получает верхнюю панель (панель навигации для форматирования). Я бы предположил, что нижний план следует за этим, но я его не тестировал!
Ответ 3
похоже, что они помещают сегментированный элемент управления в нижний колонтитул таблицыView. (первый снимок экрана). Я бы постарался, если это возможно, иначе вы могли бы работать над подклассификацией UIToolbar и переопределять drawRect: чтобы получить нужный вам вид.