iPhone 응용 프로그램에서는 표준 키보드처럼 작동하는 사용자 정의 키보드가 있습니다. 사용자 지정 텍스트 필드가 첫 번째 응답자가되고 필드가 첫 번째 응답자를 사임하면 숨겨집니다. 다음과 같이 또한, 일반 UIKeyboardWillShowNotification
, UIKeyboardDidShowNotification
과 숨어있는 대응을 게시하도록하겠습니다 :사용자 정의 키보드 (iPhone), UIKeyboardDidShowNotification 및 UITableViewController
NSMutableDictionary *userInfo = [NSMutableDictionary dictionaryWithCapacity:5];
[userInfo setObject:[NSValue valueWithCGPoint:self.center]
forKey:UIKeyboardCenterBeginUserInfoKey];
[userInfo setObject:[NSValue valueWithCGPoint:shownCenter]
forKey:UIKeyboardCenterEndUserInfoKey];
[userInfo setObject:[NSValue valueWithCGRect:self.bounds]
forKey:UIKeyboardBoundsUserInfoKey];
[userInfo setObject:[NSNumber numberWithInt:UIViewAnimationCurveEaseOut]
forKey:UIKeyboardAnimationCurveUserInfoKey];
[userInfo setObject:[NSNumber numberWithDouble:thisAnimDuration]
forKey:UIKeyboardAnimationDurationUserInfoKey];
[[NSNotificationCenter defaultCenter] postNotificationName:UIKeyboardWillShowNotification
object:nil
userInfo:userInfo];
을이 코드가 작동하고 나는 UIViewController
서브 클래스에서 사용.
이제 iPhone OS 3.0 이후로 UITableViewController
은 시스템 키보드가 표시되거나 숨겨지면 자동으로 tableView의 크기를 조정합니다. 현재 3.0에 대해 컴파일 중입니다. 동일한 통보를 게시 할 때부터 내 사용자 지정 키보드가 나타나면 컨트롤러에서 테이블의 크기를 조정해야한다고 생각했습니다. 그러나 그렇지 않습니다. 테이블 뷰 컨트롤러는 입력 필드의 대리자로 설정됩니다.
왜 이것이 사실 일지 모르는 사람이 있습니까? 누구든지 비슷한 무언가를 성공적으로 구현 했습니까?
나는 사용자 정의 필드에 표준 입력 필드가 있으므로 사용자가 필드를 변경하면 표준 키보드가 숨겨지고 사용자 정의 필드가 표시됩니다. tableView 전체 높이로 크기가 조정되지 않은 및 사용자 지정 메서드를 사용하여 다시 크기를 조정할 필요가 않았다면 유용 할 것입니다.
그래,이게 내가 해결책을 찾기 위해해야 할 일이라고 생각한다. (현재 길 위에있다.) 내가 뭔가를 찾지 못한다면 나는 그것을 수동으로 해결할 것이다. 내가 너에게 그 현상금을 보상하겠다는 뜻. :) – Pascal