簡體   English   中英

首次觸摸時,UIScrollView會跳轉

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM