xcode键盘滚动问题与扩展UITableviewController

时间:2013-06-23 10:11:35

标签: ios uitableview

我遇到了一个奇怪的问题: 众所周知,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 */
}

1 个答案:

答案 0 :(得分:3)

Don't override methods using a category

执行此操作的特定问题是,您的super调用不会调用主UITableViewController类中的相应方法,它们会调用{{}中的方法1}}类。由于你覆盖的方法似乎不会直接影响键盘的调用,我的猜测是他们设置了正确的侦听器。因为您阻止了设置键盘侦听器的方法(OP表示这似乎是UIViewController),所以表格无法检测键盘何时设置并正确滚动。

创建并使用适当的子类。