我想不出比運行中的數學更清潔的解決方案。如果所需的頁面長度比「滑動」UIImage的100px,以便它保持相對於實際頁面。因此,一些類似於:
CGFloat pageWidth = 100;
int numPages = ceilf(myImageView.bounds.size.width/pageWidth);
scrollView.contentSize = CGSizeMake(numPages * scrollView.bounds.size.width,
scrollView.bounds.size.height);
然後繼承滾動視圖的layoutSubviews
方法:
- (void)layoutSubviews {
int numPages = ceilf(myImageView.bounds.size.width/pageWidth);
CGRect visibleBounds = [self bounds];
CGFloat start = visibleBounds.origin.x;
CGFloat offset = start/pageWidth;
myImageView.frame = CGRectMake(offset, myImageView.frame.origin.y,
myImageView.frame.size.width,
myImageView.frame.size.height);
}
我還沒有在所有測試這一點,但希望它可以讓你在工作軌道。這個應該正在做的是移動圖像,每當你滾動,使它看起來像每個「頁面」只移動圖像100px。
謝謝MrHen! ...只是一個後續問題...在你的layoutSubvies方法中,numPages的目的是什麼? 歡呼! – alex25 2010-05-23 03:29:32
嗯......我不記得了。我可能忘了把這條線路拉出來,很明顯,它沒有做任何事情。 :) – MrHen 2010-05-24 13:23:22