Objective c presentModalViewController半透明,背景中有上一个视图
我试图呈现一个半透明的视图,前一个视图会在背景中保持可见 我有Objective c presentModalViewController半透明,背景中有上一个视图,objective-c,ios,uikit,Objective C,Ios,Uikit,我试图呈现一个半透明的视图,前一个视图会在背景中保持可见 我有 [self presentModalViewController:modalView animation:YES]; 我在modalView的viewDidLoad中设置了透明度,但是在打开modalView后,上一个视图消失了。我怎样才能使另一个视图保持在背景中 我也试着用 [self.view addSubview:modalView.view]; 它没有覆盖整个屏幕,我希望能够使用presentModalViewContr
[self presentModalViewController:modalView animation:YES];
我在modalView的viewDidLoad中设置了透明度,但是在打开modalView后,上一个视图消失了。我怎样才能使另一个视图保持在背景中
我也试着用
[self.view addSubview:modalView.view];
它没有覆盖整个屏幕,我希望能够使用presentModalViewController方法解决此问题。听起来您只是希望在主视图的顶部显示一个视图。模态视图是表示子视图的一种非常挑剔的方式,相反,您应该考虑创建一个简单的视图类来添加到视图控制器中。然后可以使用[UIView animate…];方法在视图内外设置动画 要开始,请执行以下操作:
- (void)displayViewButtonPressed(id)sender
{
if (!self.topView)
{
UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(44.0f, 22.0f, 40.0f, 44.0f];
[overlayView setAlpha:0.0f];
[overlayView setBackgroundColor:[UIColor redColor]];
[self setTopView:overlayView];
[overlayView release];
}
[self.view addSubView:self.topView];
[UIView animateWithDuration:0.5
animations:^{
[self.topView setAlpha:1.0f];
}];
}
在上面的方法中,我们创建一个自定义UIView并将其设置为动画。我们保留一个指向它的指针,以便以后可以像这样删除它:
- (void)dismissViewButtonTapped:(id)sender
{
[UIView animateWithDuration:0.5
animations:^{
[self.topview setAlpha:0.0f];
}
completion:^(BOOL finished) {
[self.topView removeFromSuperView];
}
}
使用模态视图比使用模态视图要多做一些工作,但它在使用什么以及如何显示方面给了您更大的灵活性
希望这有帮助:谢谢!我会用我的代码试试看,然后告诉你它是否有效