Как вы позиционируете пользовательский UIPicker? - PullRequest
0 голосов
/ 25 мая 2011

Так что я пытаюсь расположить пользовательский UIPicker в моем представлении. Я следую коду UICatalog и применяю те же принципы в своем коде.

То, как они, кажется, позиционируют это:

CGSize pickerSize = [myPickerView sizeThatFits:CGSizeZero];
customPickerView.frame = [self pickerFrameWithSize:pickerSize];

Как это работает? Кажется, они вызывают «sizeThatFits» на обычном средстве выбора, которое они создали в другом месте кода (и которое мне не нужно), а затем используют это для настройки фрейма.

Как реализовать что-то подобное без двух сборщиков? Я хочу, чтобы мой пользовательский инструмент выбора был в нижней части окна.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 июня 2011

Это сработало для меня:

myPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 244, 320, 216)];

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

0 голосов
/ 26 мая 2011

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

...