2009-05-03 6 views
4

Я пытаюсь создать контроллер выбора с кнопкой «Готово», расположенной над ним, чтобы отобразить форму, которая находится в другом представлении.Отображение UIViewController/UIView по другому виду

Я создал подкласс UIViewController и с помощью IB я добавил панель инструментов и представление выбора. Это, кажется, в порядке и путем копирования примеров в UICatalog я могу получить его, чтобы отобразить необходимые значения, и я могу слушать выборов и т.д.

alt text http://web.me.com/gareth.davis/so/settlement_picker_ui.png

В приведенном выше я установить цвет фона зрения, чтобы быть alpha 0,0. Я также попытался установить альфа представления, что он сам равен 0.0, это просто отображает полностью прозрачный вид.

alt text http://web.me.com/gareth.davis/so/picker_running_in_app.png

Выше контроллер вид отображается поверх моей формы с помощью:

[self presentModalViewController:settlementPickerViewController       
         animated:YES]; 

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

ответ

3

Решение, похоже, не должно использовать UIViewController, а простой пользовательский UIView отлично выполняет работу.

Я использовал настройки цвета Haentz в в методе awakeFromNib:

- (void)awakeFromNib { 
    picker.delegate = self; 
    self.backgroundColor = [UIColor clearColor];  
} 

Обратите внимание, что вы должны осуществить это и не используя метод initWithFrame, что шаблон х-код дает вам как перьевые контролируемые точки зрения не использовать initWithFrame (из документации Apple).

2

Возможно, я просто этого не понимаю, но я не совсем понимаю, в чем проблема. В нижнем скриншоте, должны ли элементы пользовательского интерфейса быть прозрачными, без белой области выше? Вам нужно установить рамку UIView в вашем UIViewController надлежащим образом, и я думаю, вы, возможно, придется установить цвет фона прозрачный:

self.view.backgroundColor = [UIColor clearColor]; 

я не уверен, так как я никогда не использую IB, но он может можно установить значение альфа-фона фонового цвета базового представления равным 0. Не альфа самого представления, а цвет фона.

+0

Извините, да, белая область должна отображать базовую форму на вид ниже. Я попытался установить цвет фона с помощью IB, у меня будет bash программно, спасибо. –

+0

Просто попробовал это, и он, похоже, не выполняет эту работу. –