0

私のアプリは次のように表示されています:

サンプル1

「サンプル 1」は、コンテンツを表示するための単なるビューです。上ボタンをクリックすると、「Sample 1」が上にスクロールし、新しいビュー「Sample 2」が下から表示されます。最終結果は次のとおりです。

サンプル 2

サンプル 2 ビューをアップ ボタンの最後に追加し、サンプル 1 とアップ ボタンのフレームを調整してサンプル 2 を表示する必要があると思います。

しかし、私はそれを実装する方法の詳細を知りません。これを実装する簡単な方法はありますか?

4

4 に答える 4

1

ボタンと 2 つのサンプル ビューを UIScrollview に配置し、スクロールビューの contentsize をボタンと 2 つのサンプル ビューの合計の高さに設定するだけです。

次に、UIScrollView のスクロールを無効にして、UIScrollView を上にスクロールするメソッドにボタンを接続します。

UIScrollView と「サンプル」ビューをカスタム UIViewController クラスのプロパティとして取得したと仮定すると、次のようなことができます。

- (void)viewDidLoad
{
    [super viewDidLoad];

    //disable scrolling
    self.scrollView.scrollEnabled = NO;
}

//connect this action to you button
- (IBAction)buttonPressed:(id)sender{

    //if current position is top scroll down, otherwise scroll up.
    if(self.scrollView.contentOffset.y < 1){
        [self.scrollView setContentOffset:CGPointMake(0, self.sample1.frame.size.height) animated:YES];
    }else{
        [self.scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
    }
}
于 2013-02-05T09:59:41.610 に答える
0

enormego(EGO)を試すことができます。この質問を参照してください:

プルして更新(ios)

于 2013-02-05T09:46:14.930 に答える
0

これは、スクロール ビューを使用して実装できます。ビューをスクロール ビューに追加し、上ボタンを押したときにそれぞれの位置までスクロールします。

于 2013-02-05T09:54:54.427 に答える
0

画面サイズよりも大きなビューを作成しているため、常に通常のビューよりも大きなビューを技術的にレンダリングしているため、注意が必要です。これを回避すると (必須ではありませんが)、可能であれば画面からビューをアンロードできる場合があります。

それはさておき、メイン ビューを UIScrollView に表示して、ビューの位置を調整できるようにします。

コードは次のようになります。

- (IBAction)upButtonPress:(id)sender
{
    [UIView animateWithDuration:2.0 animations:^{
        // Approximate frame origin difference
        self.scrollView.contentOffset.y = self.view.frame.size.height - upButton.frame.size.height;
    } completion:^(BOOL finished) {
        // if necessary, do something when animation completes
    }];
}
于 2013-02-05T10:03:42.067 に答える