2015-08-20 1 views
2

Я использую автозапуск в своем приложении. У меня есть UIPicker внизу экрана. То, что я хочу сделать, я хочу, чтобы открыть UIPicker из нижней части экрана на щелчок UIButton, как показано на изображении нижеAutolayout - анимация UIView в нижней части экрана

picker position

Я хочу знать

  1. , какой вид constaraint у меня есть установить вначале
  2. какой вид contraint я должен реализовать программно и как он будет реализован?

Как вернуться в исходное положение?

Любая помощь была бы пригодна.

ответ

0

Что я сделал, я установил ограничение 3 для pickerView следующим образом.

enter image description here

Затем я установил выход нижнего пространства на мой взгляд.

@property (strong, nonatomic) IBOutlet NSLayoutConstraint *bottomConstraint; 

после этого на щелчке botton я пишу следующую логику, и моя работа выполнена.

- (IBAction)showPicker:(id) sender{ 
    self.bottomConstraint.constant = 0; 
    [self.picker setNeedsUpdateConstraints]; 
    [UIView animateWithDuration:0.3f animations:^{ 
     [self.view layoutIfNeeded]; 
    }]; 
} 
0

Первоначально придавить верхней части pickerView к bottom из SuperView, а затем, когда вы хотите, чтобы показать, вы можете прикрепить bottom из pickerView в нижней части superView.

ИЛИ

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

0

выполните нижеследующий шаг.

применил это ограничение к вашему объекту.

enter image description here

после этого выберите вертикального пространства ограничения и создать IBOutlet для него.

enter image description here

@property (слабый, неатомической) IBOutlet NSLayoutConstraint * TopHeight;

Установите верхний край вашего желания, используя ниже code.it, установив новое верхнее поле для вашего объекта с анимацией.

self.TopHeight.constant = 400; 
[self.view setNeedsUpdateConstraints]; 
[UIView animateWithDuration:0.5 animations:^{ 
    [self.view layoutIfNeeded]; 
}];