2

だから私はこれに関する他の多くの投稿を見てきました、そして私はそれらのほとんどすべてを試したと思います. これを重複させたくないのですが、問題を解決できません。私は次のような設定をしています: ここに画像の説明を入力

Scroll View Controller に到達すると、問題なくページオーバーできますが、画像を垂直方向に移動することもできます。それは、NavigationBar が ScrollView フレームを強制的に下げているのに、フレームが全画面サイズに設定されていることに関係していると思います。Scroll View View Controllerで垂直スクロールを防ぐにはどうすればよいですか? 私の.mは以下です:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.navigationController.navigationBarHidden = NO;

i = 0;

_PhotoBundle = [[NSBundle mainBundle] pathsForResourcesOfType:@".jpg"inDirectory:@"Dog_Images"];

_PhotoArray = [[NSMutableArray alloc] initWithCapacity:_PhotoBundle.count];
for (NSString* path in _PhotoBundle)
{
    [_PhotoArray addObject:[UIImage imageWithContentsOfFile:path]];
}
for (int x = 0; x < _PhotoArray.count; x++)
{
    CGRect frame;
    frame.origin.x = self.mainScroll.frame.size.width * x;
    frame.origin.y = 0;
    frame.size = self.mainScroll.frame.size;

    UIImage *nextImg = [[UIImage alloc] init];
    nextImg = [_PhotoArray objectAtIndex:x];

    UIImageView *nextIV = [[UIImageView alloc] initWithFrame:frame];
    [nextIV setImage:nextImg];

    [self.mainScroll addSubview:nextIV];
    //NSLog(@"Pass %d", x);
}

self.mainScroll.contentSize = CGSizeMake(self.mainScroll.frame.size.width * _PhotoArray.count, self.mainScroll.frame.size.height);

}

どうもありがとうございました!!

4

2 に答える 2

6

だから私はそれを完全に説明する投稿を見つけました:

UIScrollViewで垂直スクロールのみを無効にする方法は?

私が変更するとき

CGSizeMake(self.mainScroll.frame.size.width * _PhotoArray.count, self.mainScroll.frame.size.height);

CGSizeMake(self.mainScroll.frame.size.width * _PhotoArray.count, 1.0);

contentSize が境界よりも大きくならないようにします...私が読んだことはありますが、完全には理解できませんでした。これがこれで立ち往生している他の誰かに役立つことを願っています...

于 2012-11-01T20:28:38.143 に答える
1

UIScrollViewcontentSizeフレームよりも大きく設定されている場合にのみ、コンテンツをスクロールします。したがって、設定self.mainScroll.contentSizeしているときはcontentSize.height、フレーム以上のものがあります。

クラスを使用する前に、少なくとも Apple のドキュメントを読んでみてください。それは退屈だ。しかし、給料はすべての退屈なことを報います。

ところで。UIImageView オブジェクトを表示するために UIScrollView を正しく使用していません。Apple WWDC セッション (iTunes からダウンロードできます) を視聴してみてください - 3 つの UIImageView オブジェクトを使用して無限の UIScrollView ページングを描画する方法に関する 2 つまたは 3 つのセッションがあります。

Apple のドキュメントUIScrollView

于 2012-11-01T18:23:27.970 に答える