텍스트필드 작업을 하면 입력창 때문에
버튼이 가려서 불편한 경우가 많다.
이 때 입력창의 Enter 혹은 return 등을 누르면 창 닫히는 기능을 추가하면 편하다.
스토리 보드 상에서 텍스트 필드를 ctrl+클릭
뜨는 메뉴 중 DidEndOnExit를 ViewController로 끌어옴
함수이름을 입력하고 생성된 함 수 바디에
[sender resignFirstResponder]; 입력
키보드창 없애는 것만으로 부족하여
키보드 창이 생길 때 화면을 위로 올리고
키보드 창을 내릴 때 화면을 다시 내려주는 코드도 추가
- (IBAction)Return:(id)sender //위 스샷의 링크 함수
{
[sender resignFirstResponder];//키보드 없애기
//화면 내리기
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect rect=self.view.frame;
rect.origin.y+=100;
rect.size.height-=100;
self.view.frame=rect;
[UIView commitAnimations];
}
//아래부터는 직접 입력
-(void)keyboardWillShow:(NSNotification *)notif
{
//화면 올리기
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
CGRect rect=self.view.frame;
rect.origin.y-=100;
rect.size.height+=100;
self.view.frame=rect;
[UIView commitAnimations];
}
//키보드화면이 뜨는걸 확인
-(void)viewWillAppear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:self.view.window];//화면이 뜨면 keyboardWillShow로 전달
}
//키보드 화면이 사라지는 걸 확인
-(void)viewWillDisappear:(BOOL)animated
{
[[NSNotificationCenter defaultCenter]removeObserver:self name:UIKeyboardWillShowNotification object:nil];
}
'프로그래밍 > iOS' 카테고리의 다른 글
[iOS]xcode 5.0에서 emptyProject로 시작하기 (0) | 2015.04.08 |
---|---|
x-code5에서 아이폰에 헬로월드 띄우기(스토리 보드 기반) (0) | 2015.04.08 |
[ios]아이폰 3.5인치와 4인치 구분하여 스토리보드 사용하기 (0) | 2015.04.08 |
[iOS]NSDate날짜 한국날짜로 표시하기 (0) | 2015.04.08 |
osX 단축키 (0) | 2015.04.08 |