首页 > 代码库 > UIScrollView加入控件,控件距离顶部始终有间距的问题

UIScrollView加入控件,控件距离顶部始终有间距的问题

今天。特别郁闷。自己定义了一个UIScrollView,然后在它里面加入控件,如UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0,0,100,100)];

按理来说,这个button应该在scrollView的顶部。可是却不是,他与顶部相距一个statusbar+navagation高度,搞了半天也没发现这一点。。。。

我一直以为是自己的contentsize设置的问题,所以一直环绕这个来想解决方式。浪费了较多时间。。

现总结例如以下:

假设在UINavigationController内设置一个UIViewControlller,而UIViewController的第一个子视图是UIScrollView的话。UIScrollview里面全部的subView都会发生下移。在navigationBar,以及statusBar都显示的情况下,Navigation的当前VC,他的VC的view的子视图树的根部的第一个子视图,假设是Scrollview的话,这个scrollview的全部子视图都会被下移64个像素。


解决方式

1、把scrollview的全部子视图上移64个像素。

2、把scrollView更改地位。是它不是子视图树的根部第一个子视图。即在加入scrollview到父视图之前。先加入其它控件

UIScrollView加入控件,控件距离顶部始终有间距的问题