首页 > 代码库 > iOS中 : UIScrollView在导航控制器中的自动偏移的问题解决

iOS中 : UIScrollView在导航控制器中的自动偏移的问题解决

       当你在一个navigation下的UIViewController中直接添加一个UIScrollViewController时;UIScrollView会自动的向下偏移20个点(有可能会偏移64个点,84个点)-(取决于你的设置,反正是会偏移),导致这样的原因比较绕,但是解决的方法很简洁:

 solution:

         不要将UIScrollView 直接放在控制器上,可以先创建一个无关的UIView做炮灰;

         在要放UIScrollView的地方,先放上炮灰UIView

   有UIView点垫背,再在上面放UIScrollView就不会偏移了;

详细的代码如下:


#pragma
mark - viewDidLoad - (void)viewDidLoad { [super viewDidLoad]; // self.automaticallyAdjustsScrollViewInsets = NO; // self.navigationController.navigationBarHidden = YES; /// viewBack 解决totalView 的 自动偏移问题 (炮灰view) UIView * viewBack = [[UIView alloc] initWithFrame:CGRectMake(0, 64, 30, 30)]; viewBack.backgroundColor = [UIColor greenColor];    self.totalScrollView.backgroundColor = [UIColor purpleColor]; [self.view addSubview:viewBack]; [self.view addSubview:self.totalScrollView];
// scrollView 通过懒加载初始化
// _totalScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 64, 375, 667)];
}

 

iOS中 : UIScrollView在导航控制器中的自动偏移的问题解决