Переместить uipickerview
У меня есть такая проблема: если я использую 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 ответ
Это потому, что вы изменили границы рисования вида. Я полагаю, что ответ на вопрос, почему он отличается в представлениях сборщика, связан с фактической реализацией каждого элемента управления - один должен рисовать в начале координат, а другой - в начале кадра.
Посредством установки начала координат у -108 источник прорисовываемой области вида теперь на 108 пикселей выше фактической позиции вида. в общем, вы никогда не хотите устанавливать начало координат, особенно если у вас нет элемента управления. Просто используйте положение кадра: 0,156, 320, 216, и они оба должны вести себя одинаково.
хорошее объяснение того, когда следует использовать свойства фрейма, границ или центра, см. в фрейме UIView, границы, центр, начало координат, когда и что использовать?