[英]UIScrollView jumps down when first touched
我有兩個UIScrollViews,一個是水平的,一個是垂直的,每個都有兩個頁面(如圖所示,水平一個是兩頁寬,垂直一個是兩頁高)。 水平滾動視圖位於垂直滾動視圖中。 我試圖模仿Calcbot的設計,你可以向左/向右滾動按鈕,向上/向下滾動歷史記錄。
但是,當視圖加載時,水平滾動視圖比它應該的位置高約100個像素。 然后,當我觸摸它並開始移動它時,它跳躍/跳到正確的位置並停留在那里。 如何從一開始就正確顯示?
這是我的viewDidLoad代碼:
-(void)viewDidLoad {
horizontalScrollView.pagingEnabled = YES;
verticalScrollView.pagingEnabled = YES;
horizontalScrollView.contentSize = CGSizeMake(horizontalScrollView.bounds.size.width * 2, horizontalScrollView.bounds.size.height); // 2 pages wide.
verticalScrollView.contentSize = CGSizeMake(verticalScrollView.bounds.size.width, verticalScrollView.bounds.size.height * 2);
horizontalScrollView.delegate = self;
verticalScrollView.delegate = self;
[verticalScrollView addSubview:horizontalScrollView];
[verticalScrollView setContentOffset:CGPointMake(0, 640)];
[self.view addSubview:verticalScrollView];
horizontalScrollView.frame = CGRectMake(0, 540, 320, 460);
}
謝謝。
當你設置了pagingEnabled = YES並且contentOffset設置為不在頁面邊界上的位置(由bounds.size.height分割)時,通常會跳過UIScrollView。
只是一個快速思考,因為我目前正在搞亂UIScrollView。 您可以嘗試使用-(void)viewWillAppear:(BOOL)animated
。 例如,我在該方法中設置了我的最小和最大滾動,因為它取決於內容的大小,從我讀到的內容,直到viewWillAppear才設置。
移動這一行
horizontalScrollView.frame = CGRectMake(0, 540, 320, 460);
在viewWillAppear
而不是viewDidLoad
,查看它是否有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.