UIScrollView新增控制元件,控制元件距離頂部始終有間距的問題
阿新 • • 發佈:2019-01-04
今天,特別鬱悶,自定義了一個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到父檢視之前,先新增其他控制元件