1

私は 480 x 510 のメイン ビューを持つ iPhone アプリを持っています。

最初は、480x480 のコンテンツ領域があり、横にメニューを表示するボタンを追加したいと考えていました。ただし、アプリの左側の長さに書き込みを実行する唯一の方法は、アプリ全体の向きを右に横向きに変更することでした。

現在、横向きの向きでは、スクロールビューは左上から始まります。元の向きのポイント (縦向きモードのときから) から開始したい場合は、左下になります。しかし、スクロールビューの元の開始点を変更する方法がわかりません。contentOffset を試しましたが、うまくいかないようです。

これを行うもう 1 つの方法 (私が最終的に行う可能性がある方法) は、ボタンにタイトルを付けるのを忘れて、テキストが縦向きのボタンのグラフィックを作成することです。

if (self = [super initWithCoder:coder]) {
    // Size of the scrollview
    self.contentSize = CGSizeMake(480, 510);
    [self setContentOffset:CGPointMake (0, -160)];
    self.showsHorizontalScrollIndicator = YES;
    self.showsVerticalScrollIndicator = YES;
    self.alwaysBounceVertical = NO;
    self.alwaysBounceHorizontal = NO;
    self.bounces = YES;
    self.userInteractionEnabled = YES;
    self.musicGridView = [[[MusicGridView alloc] initWithCoder:coder] autorelease];
    // Rectangle where I put the music grid (origin is left aligned, and down 160 pixels to account for landscape view)
    self.musicGridView.frame = CGRectMake(0, 160, 480, 480);
    [self addSubview: musicGridView];

    self.menuButton = [UIButton buttonWithType:UIButtonTypeCustom];
    self.menuButton.frame = CGRectMake(0, 480, 480, 32);
    [menuButton setTitle: @"Tap to get Menu" forState: UIControlStateNormal];
    [menuButton setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
    [menuButton addTarget:self action:@selector(showMenu) forControlEvents:UIControlEventTouchUpInside];

    [self addSubview: menuButton];
4

2 に答える 2

1

ポイントx、yを設定するだけです

//it goes in particular pont of view

[scrollview setContentOffset:CGPointMake(x,y) animated:YES];

//if x=0 in loop, increase y value scrollview move only vertical direction
[scrollview setContentOffset:CGPointMake(0,y) animated:YES];

//if y=0 in loop, increase x values scrollview move only horizontal direction
[scrollview setContentOffset:CGPointMake(x,0) animated:YES];
于 2012-08-31T10:18:47.610 に答える
0

Andrey Tarantsovは、一般的な問題に対するさまざまな回避策のコードを含め、このクラスのさまざまな癖の素晴らしい要約を作成しました。UIScrollView一見の価値があるかもしれません。

于 2009-06-17T01:20:34.943 に答える