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

「サンプル 1」は、コンテンツを表示するための単なるビューです。上ボタンをクリックすると、「Sample 1」が上にスクロールし、新しいビュー「Sample 2」が下から表示されます。最終結果は次のとおりです。
サンプル 2 ビューをアップ ボタンの最後に追加し、サンプル 1 とアップ ボタンのフレームを調整してサンプル 2 を表示する必要があると思います。
しかし、私はそれを実装する方法の詳細を知りません。これを実装する簡単な方法はありますか?
私のアプリは次のように表示されています:

「サンプル 1」は、コンテンツを表示するための単なるビューです。上ボタンをクリックすると、「Sample 1」が上にスクロールし、新しいビュー「Sample 2」が下から表示されます。最終結果は次のとおりです。
サンプル 2 ビューをアップ ボタンの最後に追加し、サンプル 1 とアップ ボタンのフレームを調整してサンプル 2 を表示する必要があると思います。
しかし、私はそれを実装する方法の詳細を知りません。これを実装する簡単な方法はありますか?
ボタンと 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];
}
}
enormego(EGO)を試すことができます。この質問を参照してください:
これは、スクロール ビューを使用して実装できます。ビューをスクロール ビューに追加し、上ボタンを押したときにそれぞれの位置までスクロールします。
画面サイズよりも大きなビューを作成しているため、常に通常のビューよりも大きなビューを技術的にレンダリングしているため、注意が必要です。これを回避すると (必須ではありませんが)、可能であれば画面からビューをアンロードできる場合があります。
それはさておき、メイン ビューを 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
}];
}