ios - 扩展 UITableviewController 的 xcode 键盘滚动问题

标签 ios uitableview

我遇到了一个奇怪的问题: 众所周知,UITableView 自动解决了键盘隐藏文本字段的问题。 在我扩展 UITableViewController 以添加更多功能之前,它对我来说一直很好。 准确地说——我没有继承自 UITableViewController,而是通过创建类 UITableViewController(属性)来扩展它。 扩展属性与键盘/文本字段问题没有任何关系 - 但上述功能在此扩展后已损坏,现在键盘隐藏了我的文本字段。

有人对此有解释吗? 而且,如果有扩展类经验的人可以提示这个过程中的敏感区域,那就膨胀了。

谢谢,埃利克

编辑: 这或多或少是我的扩展类代码和实现的方法:

@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 */
}

最佳答案

Don't override methods using a category .

你在这里遇到的特殊问题是你的 super 调用不调用主 UITableViewController 类中的相应方法,他们调用UIViewController 类中的方法。由于您覆盖的方法似乎不会直接影响可能为键盘调用的内容,我的猜测是他们设置了适当的监听器。因为您阻止了设置键盘监听器的方法(OP 说这似乎是 viewWillAppear),所以该表无法检测何时设置键盘并适当滚动。

创建并使用适当的子类。

关于ios - 扩展 UITableviewController 的 xcode 键盘滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17259692/

相关文章:

ios - 自定义 iOS UINavigationBar/UITabBar 和移除 Tint Colors

ios - 使 UITableViewCell 适合 UICollectionView 而无需 tableView heightForRowAt

iphone - 核心数据: UITableView with multiple NSFetchedResultControllers

ios - 如何构建与 facebook 集成的 iphone 应用程序的好例子

ios - UIScrollView 内的 UITableView - 单元格不可单击

objective-c - 如何在 iOS 上定义可达性超时

ios - FastPDFKit 为模拟器构建,但显示 arm7 的重复符号错误

c# - 自定义 UITableViewCell : First Row Has No Content

swift - tableView.beginUpdates() 行为异常

swift - 在单元格中设置 imageView