UIScrollView的Frame控制的是用戶可以滑動的區(qū)域描函。
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 400, 320, 200);
scrollView.contentSize = CGSizeMake(800, 200);
其子View的Frame是基于UIScrollView的contentSize的。
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 200, 200); [scrollView addSubView:imageView];
UIImageView *imageView2 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 200, 200, 200);[scrollView addSubView:imageView2];
UIImageView *imageView3 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 400, 200, 200);[scrollView addSubView:imageView3];
UIImageView *imageView4 = [[UIImageView alloc] initWithFrame:CGRectMake(0, 600, 200, 200);[scrollView addSubView:imageView4];
也可以先將子View添加到scrollView中,再設置子View的frame,最后設置scrollView的contentSize。
滑動scrollView時,scrollView和子View的Frame不會改變,改變的是scrollView的contentOffset丑孩。
scrollView的子View在scrollView的父視圖中的坐標可用如下方法計算得出:
CGRect rect = [scrollView convertRect:imageView.frame toView:scrollView.superView];