私はあなたが簡単だと思うかもしれないいくつかの質問を理解するのに苦労していますUIScrollView
.
contentSize
の境界ではなく、なぜ を増やすのUIScrollView
ですか? 実際、私は境界と何をするのか理解していませcontentSize
ん。YESに設定
pagingEnabled
すると、scrollView はスクロールを停止する場所をどのように認識しますか?のページ間にギャップを追加したい
UIScrollView
。(pagingEnabled = YES
) インターネットで検索したところ、rob mayoff が書いた次のコードが見つかりました。
- (void)viewDidLoad { [super viewDidLoad]; NSArray *colors = [NSArray arrayWithObjects:[UIColor redColor], [UIColor greenColor], [UIColor blueColor], nil]; #define kGutterWidth 20 UIScrollView *scrollView = self.scrollView; CGRect scrollViewFrame = scrollView.frame; scrollViewFrame.size.width += kGutterWidth; scrollView.frame = scrollViewFrame; CGSize scrollViewSize = scrollView.bounds.size; for (int i = 0; i < colors.count; i++) { CGRect frame = CGRectMake(scrollViewSize.width * i, 0, scrollViewSize.width - kGutterWidth, scrollViewSize.height); UIView *subview = [[UIView alloc] initWithFrame:frame]; subview.backgroundColor = [colors objectAtIndex:i]; [scrollView addSubview:subview]; [subview release]; } scrollView.contentSize = CGSizeMake( colors.count * scrollViewSize.width, scrollViewSize.height); }
コードのソース: ビュー間にスペースがあるページング scrollView を作成する方法
このコードは正常に動作しますが、理解していない限り問題ありません。
最終的にページが元のサイズで読み込まれることはわかっていますが、各ページが kGutterWidth で減算されるため、どのように起こるのかわかりません。
rob が kGutterWidth で scrollView のフレームを増やしたのはなぜですか?
OK、この質問はばかげているように聞こえるかもしれませんが、私は本当に理解できません。コードでは、Rob が という名前の新しい scrollView オブジェクトを作成しました
scrollView
。その値は値に等しいself.scrollView
です。scrollView
への変更が にどのように影響するかわかりませんself.scrollView
。それらは異なるオブジェクトだからです。それらのメモリアドレスは異なります。
私は長い間、これらの質問を理解するのに苦労しています。今日はここに書くことにしました。
ありがとうございました。