Programming

키보드 팝업 시 뷰 크기 조절하기

 2016. 12. 21. 04:49
반응형
1
@interface YourViewController : ViewController<UITextFieldDelegate>
cs

1
self.mnemonicField.delegate=self; 
cs

textField에 delegate가 설정되어 있어야 함

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-(void)setViewMovedUp:(BOOL)movedUp{
    CGRect rect = self.view.frame;
    [UIView beginAnimations:nil context:NULL];
 
    if(movedUp){
        [UIView setAnimationDuration:0.3]; // if you want to slide up the view
        rect.size.height -= OFFSET_FOR_KEYBOARD;
 
    }else{
        [UIView setAnimationDuration:0.0];
        rect.size.height += OFFSET_FOR_KEYBOARD;
    }
    self.view.frame = rect;
 
    [UIView commitAnimations];
}
 
-(void)textFieldDidBeginEditing:(UITextField *)textField {
    [self setViewMovedUp:YES];
}
 
-(void)textFieldDidEndEditing:(UITextField *)textField {
    [self setViewMovedUp:NO];
}
cs


애니메이션 없이 뷰 크기를 조절하면 키보드 보다 빨리 올라와서

까만 부분이 잠깐 보이게 됨


따라서 애니메이션 설정해서, 자연스럽게 변환함

반응형