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

Posted wangwei-Carry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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在导航控制器中的自动偏移的问题解决的主要内容,如果未能解决你的问题,请参考以下文章

iOS 11、状态栏、导航栏和 UIScrollview

IOS7:UINavigationController 中的 UIScrollView 偏移

UIScrollView 是不是仅适用于嵌入在导航控件中的视图控制器?

没有 UIScrollView 的 iOS UIPageControl

导航控制器中的 UIScrollView

包含在嵌入导航控制器的视图控制器中时,UIScrollView 不滚动