Отображение UIViewController / UIView поверх другого представления - PullRequest
4 голосов
/ 03 мая 2009

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

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

альтернативный текст http://web.me.com/gareth.davis/so/settlement_picker_ui.png

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

альтернативный текст http://web.me.com/gareth.davis/so/picker_running_in_app.png

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

    [self presentModalViewController:settlementPickerViewController                         
                        animated:YES];

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

Ответы [ 2 ]

3 голосов
/ 04 мая 2009

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

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

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

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

2 голосов
/ 03 мая 2009

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

self.view.backgroundColor = [UIColor clearColor];

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

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