我遇到了一个奇怪的问题: 众所周知,UITableView自动解决键盘问题隐藏文本字段。 它对我很有用,直到我扩展UITableViewController以添加更多功能。 确切地说 - 我没有从UITableViewController继承,而是通过创建类UITableViewController(property)来扩展它。 扩展属性与键盘/文本字段问题无关 - 但上述功能在此扩展后已损坏,现在键盘隐藏了我的文本字段。
有人对此有解释吗? 此外,如果具有扩展课程经验的人可以在此过程中提示敏感区域,那就会膨胀。
谢谢,Elik
修改 这或多或少是我的扩展类代码和实现的方法:
@implementation UITableViewController (Property)
-(void) viewDidLoad
{
/* perform custom code */
[super viewDidLoad];
}
-(void)commonloadProperty{
/* custom code */
}
-(void) viewDidUnload
{
/* custom code */
[super viewDidUnload];
}
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
-(void)propertyHandlingStarted
{
/* custom code */
}
-(void)propertyHandlingCanceled
{
/* custom code */
}
-(void)propertyHandlingActionsClicked
{
/* custom code */
}
答案 0 :(得分:3)
Don't override methods using a category
执行此操作的特定问题是,您的super
调用不会调用主UITableViewController
类中的相应方法,它们会调用{{}中的方法1}}类。由于你覆盖的方法似乎不会直接影响键盘的调用,我的猜测是他们设置了正确的侦听器。因为您阻止了设置键盘侦听器的方法(OP表示这似乎是UIViewController
),所以表格无法检测键盘何时设置并正确滚动。
创建并使用适当的子类。