переместить uipickerview - PullRequest
       16

переместить uipickerview

2 голосов
/ 22 января 2011

У меня есть эта проблема: если я использую uidatepicker, все идет хорошо: У меня есть этот код:

datePickerView.frame = CGRectMake(0, 264, 320, 216);
datePickerView.bounds = CGRectMake(0, -108, 320, 216);

и DatePicker наполовину снизу (как я хочу (только для теста))

но если я использую uipickerview, и я использую тот же код:

genderPickerView.frame = CGRectMake(0, 264, 320, 216);
genderPickerView.bounds = CGRectMake(0, -108, 320, 216);

но вид сборщика внизу, а не наполовину внизу, как сборщик дат ... в чем проблема?? заранее спасибо!

1 Ответ

1 голос
/ 11 февраля 2011

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

Устанавливая начало координат у -108, начало области рисования области теперь на 108 пикселей выше фактической позиции просмотра. в общем, вы никогда не хотите устанавливать начало координат, особенно если у вас нет элемента управления. Просто используйте положение кадра: 0,156, 320, 216, и они оба должны вести себя одинаково.

Хорошее объяснение того, когда следует использовать свойства фрейма, границ или центра, см. Фрейм UIView, границы, центр, начало координат, когда и что использовать?

...