在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 2010-03-24 10:12:53