tableview 位置发生偏移

时间:2023-03-09 19:44:56
tableview 位置发生偏移

状况描述:1、首次进入该界面时正常

tableview 位置发生偏移

2、push了新的界面后,再返回该界面

tableview 位置发生偏移

tableview和导航栏直接出现了间隔区域

tableview为代码创建

_tableView =  [[UITableView alloc]initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH, SCREEN_HEIGHT-114) style:UITableViewStylePlain];

然后addSubview添加的

问题分析:iOS 7 viewcontroller新增属性automaticallyAdjustsScrollViewInsets,即是否根据按所在界面的navigationbar与tabbar的高度

解决方法:

if ([self respondsToSelector:@selector(automaticallyAdjustsScrollViewInsets)])

{

//关闭自动调整

  self.automaticallyAdjustsScrollViewInsets = NO;

}

ps:

  • -(BOOL) isKindOfClass: classObj 用来判断是否是某个类或其子类的实例
  • -(BOOL) isMemberOfClass: classObj 用来判断是否是某个类的实例
  • -(BOOL) respondsToSelector: selector 用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)
  • +(BOOL) instancesRespondToSelector: selector 用来判断实例是否有以某个名字命名的方法. 和上面一个不同之处在于, 前面这个方法可以用在实例和类上,而此方法只能用在类上.