2

UIViewController に UIScrollview を追加しているのに、UIScrollview がスクロールしたくないという問題があります。UITableViewController で動作するのと同じように動作するようにします。

ここで、UIScrollview を初期化します

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 800)];
scroll.contentSize = CGSizeMake(320, 800);
scroll.backgroundColor = [UIColor redColor];
scroll.showsHorizontalScrollIndicator = YES;
scroll.scrollEnabled = YES;
scroll.userInteractionEnabled=YES;
[self.view addSubview:scroll];

ここで、コンテンツをスクロールビューに追加します。

UILabel *memberNo = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 100, 20)];
memberNo.text = @"Member No";
memberNo.font = [UIFont boldSystemFontOfSize:16];
memberNo.textColor = [UIColor limeColor];
[scroll addSubview:memberNo];

memberText = [[UITextField alloc] initWithFrame:CGRectMake(10, 40, 300, 30)];
memberText.placeholder = @"Member No";
memberText.borderStyle = UITextBorderStyleRoundedRect;
memberText.text = @"1111111";
[scroll addSubview:memberText];
4

5 に答える 5

2

これを試して

コンテンツのサイズを画面サイズよりも大きく設定すると、コンテンツの有無にかかわらずスクロールします

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 800)];

水平スクロール

 scroll.contentSize = CGSizeMake(320, 900);

垂直スクロール

scroll.contentSize = CGSizeMake(340, 800);
于 2013-06-17T05:30:23.170 に答える
0

contentSizeをフレームよりも大きく設定してみてください。例えば:

scroll.contentSize = CGSizeMake(1000, 800);

それでもうまくいかない場合は、コンテンツのサイズを設定している場所を確認してください。どこで初期化していUIScrollViewますか?上記の行をviewWillAppearまたはに移動してみてくださいviewDidLayoutSubviews

于 2013-06-17T03:00:06.483 に答える
0

コンテンツはスクロールビューと同じサイズです。スクロールするものはありません。

スクロールビューには、それ自体のサイズより大きいビューを含める必要があります。

于 2013-06-16T09:21:57.337 に答える
0

スクロールビューのフレームはスクロールビュー自体のサイズを指しますが、コンテンツサイズはスクロールビューに表示されるビューのサイズです。スクロール ビューで表示されるビューのサイズがスクロール ビューのフレーム サイズよりも小さい場合、スクロールはまったく行われませんが、コンテンツ サイズをそれ以上に設定すると、スクロール ビューをスクロールして「追加」を表示する必要があります。自身のフレームサイズよりも大きいサイズ。たとえば、スクロール ビューの高さが 100 で、コンテンツ サイズの高さ係数を 150 に設定した場合、これらの余分な 50 ピクセルはスクロール可能になります。

幸運を!

于 2013-06-17T05:49:55.407 に答える