当你在一个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)]; }
时间: 2024-10-12 13:42:21