2015-05-19 3 views
0

У меня есть UIView, перетаскиваемый из библиотеки объектов внутри UIViewcontroller, созданного StoryBoard.Как переместить модальный UIView внутри UIViewcontroller (StoryBoard)

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

Как я могу двигаться только этот взгляд, когда появляется клавиатура? Я могу перемещать весь контроллер View, но я не могу найти решение для перемещения только View.

Я просто перетащил один вид библиотеки объектов внутри моего Viewcontroller и создал один выход в .h Viecontroller - @property (слабый, неатомный) IBOutlet UIView * contentView; и связанный сделать этот вид, я тоже сомневаюсь, если мне нужно сделать что-то еще, чтобы добавить представление в проект.

Спасибо заранее!

View inside UIViewController;

+0

Не уверен, что я должен отмечать как дубликат http://stackoverflow.com/questions/11282449/move-uiview-up-when-the-keyboard-appears-in-ios – danh

ответ

2

Вы должны подписаться на UIKeyboardWillShowNotification и UIKeyboardWillHideNotification. Затем перемещайте модальный вид вверх, когда клавиатура появляется, когда клавиатура скрывается.

Затем анимировать вид модального вверх или вниз, будь то клавиатура будет показывать или скрывать:

Переместить вверх:

[UIView animateWithDuration:ANIMATION_DURATION animations:^{ 
    CGRect currentFrame = modalView.frame; 
    currentFrame.origin.y -= VIEW_FRAME_OFFSET; 
    modalView.frame = currentFrame; 
}]; 

Перемещение вниз:

[UIView animateWithDuration:ANIMATION_DURATION animations:^{ 
    CGRect currentFrame = modalView.frame; 
    currentFrame.origin.y += VIEW_FRAME_OFFSET; 
    modalView.frame = currentFrame; 
}]; 

Кроме того, если вы хотите, вы можете использовать другие список клавиатур указан here.

+0

Uiview только быстро перемещается после реализации этот код и возвращается в ту же точку, под клавиатурой. Любая идеа? Спасибо! – Edward

Смежные вопросы