2

UIButton(サブビューとして追加)にUIViewController 1があり、Button(下の図1を参照)を押した後、アクションの後に下から上にアニメーションを含む別のUIViewController2を追加します。

[[[UIApplication sharedApplication] keyWindow] addSubview:self.view];

そしてそれは重なっていますUIButton、どうすればそれがカバーしていないこのサブビューを追加できますかUIButton(下の写真2を参照)

pic.1:

ここに画像の説明を入力してください

写真。2:

ここに画像の説明を入力してください

4

2 に答える 2

2

アニメーションコードは表示されていませんが、サブビューを画面外に追加してから、フレーム(アニメーション化)を変更してスライドさせて表示することを想定しています。

代わりにを使用して新しいサブビューを追加しinsertSubview:belowSubview:、2番目の引数としてボタンを渡します。このようにすると、ボタンは新しいビューと重なるのではなく、その逆になります。addSubview:常に新しいビューを他のビューの上に置きます。

編集

presentModalViewController:コメントから、上記の方法が機能しないように、を使用して2番目のViewControllerを画面に追加しているようです。私の知る限り、この方法で要素を提示している場合、元のViewControllerの要素を新しいViewControllerのビューの上に保持する方法はありません。

新しいものを作成し、ボタンを押し続けるようにUIWindow設定する必要がある場合があります。これにより、下のビューの上に表示されたままになります。このウィンドウをサブビューとしてメインウィンドウに追加します。windowLevelUIWindowLevelAlert

于 2011-10-07T10:11:55.793 に答える
1
{
SecondViewController *objComing=[[SecondViewController alloc] init];
[self.view addSubview:objComing.view];

objComing.view.backgroundColor=[UIColor blueColor];

objComing.view.frame=CGRectMake(0,420, 320, 0);
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];

[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
objComing.view.frame=CGRectMake(0,0, 320, 420);

[UIView commitAnimations];

}

このコードをボタンアクションに配置し、secondViewControllerをViewControllerに置き換えます。

于 2011-10-07T11:37:15.073 に答える