2

これは、より大きなものに実装する前の単なるテスト プロジェクトです:-)

画像に従って、1 つの ViewController 内に 2 つのカスタム ビューを作成しました。アプリ内でそれらをオーバーラップさせるか、少なくとも邪魔にならないようにして元に戻す必要があります。

カスタムビューを調べてみましたが、うまくいきました。

私はこのコードまたは同様のものを使用したいと思っていました:

-(IBAction)move02Action
{
   [UIView beginAnimations:nil context:NULL];
   [UIView setAnimationDuration:0.5];
       _left.view.frame = CGRectMake(80, 70, 160, 380);  //_left is Left UIViewContorller
       _right.view.frame = CGRectMake(240, 70, 160, 380); //_right is Right UIViewContorller
   [UIView commitAnimations];
}

これはView ControllerではなくUIView用であることを認識しています。どこを見るべきかについてのアイデアはありますか?

絵コンテ

洞察をありがとう:-)

4

1 に答える 1

1

このようにコンテインメントビューコントローラーを使用できます

 UIView *view = [[UIView alloc] initWithFrame:CGRectMake((80, 70, 160, 380))];
 [view setBackgroundColor:[UIColor whiteColor]];
[self.view addSubview:view];

LeftViewController *left = [[LeftViewController alloc] init];

left.view.frame = view.bounds; 
[left  setDelegate:self];
[view addSubview:left .view];

[left  didMoveToParentViewController:self];
[self addChildViewController:left ];

「コンテナ ビュー コントローラの実装」ドキュメントを確認してください。

編集

1) ScrollView を self.view に追加し、フレームが異なるスクロール ビューに 2 つのビューを追加します。上記の推奨コードを使用してビューを追加します。

2)このように必要に応じてスクロールビューのコンテンツオフセットを設定します

 CGPoint bottomOffset = CGPointMake(scrolposition, scrollView.contentSize.height - scrollnView.bounds.size.height);
    [scrollView setContentOffset:bottomOffset animated:NO];

重なり合うビューの効果が必要な場合は、次を使用 [[self view] bringSubviewToFront:[self LeftView]];し ます[[self view] sendSubviewToBack:LeftView];

于 2012-11-21T05:15:37.770 に答える