2010-12-15 3 views
2

키보드 아래에 숨겨진 경우 스크롤을 위로 밀어 코드를 구현하려고합니다. 코드의 첫 번째 부분은 "이 메서드를 View Controller의 어딘가에서 호출하십시오."뷰에 있어야하는 위치는 어디에서로드 되었습니까? 해야합니까? [self.registerForKeyboardNotifications}; ?? 도와주세요.뷰 컨트롤러에서 메서드를 어디에서 호출해야합니까?

// Call this method somewhere in your view controller setup code. 
- (void)registerForKeyboardNotifications 
{ 
[[NSNotificationCenter defaultCenter] addObserver:self 
     selector:@selector(keyboardWasShown:) 
     name:UIKeyboardDidShowNotification object:nil]; 

[[NSNotificationCenter defaultCenter] addObserver:self 
     selector:@selector(keyboardWillBeHidden:) 
     name:UIKeyboardWillHideNotification object:nil]; 

} 

답변

2

당신이 이것을 호출 할 수있는 곳은 viewWillAppear입니다. 당신이 라인

[self registerForKeyboardNotifications]; 

를 사용하려면보기에 사라는 aswell 알림 센터에서 자신을 제거해야합니다.

+0

그리고 간단한 쓰기를 제거하려면 다음과 같이하십시오. registerForKeyboardNotifications = nil; 맞습니까? – Shinnawy

+0

당신은 아마도 resignFromKeyboardNotifications 메소드를 작성하고 관찰중인 각 통지에 대해 [[NSNotificationCenter defaultCenter] removeObserver : self name : * 알림 이름을 여기에 * object : nil로 지정하십시오. – MCannon

관련 문제