1. 程式人生 > >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到父檢視之前,先新增其他控制元件