[英]How To Present Half Screen Modal View?
我有一个UIViewController,当按下一个按钮时,我希望一个半屏视图向上滑动,并带有一个UIPicker。
我用UIPicker和带有完成/取消按钮的UIToolBar在IB中制作了UIView。
我如何做到这一点,以至于只有一半的视图向上滑动,而背景视图仍在显示但变暗或无法播放。
到目前为止,我正在使用以下代码:
- (void)showModalView
{
[self.popupView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:self.popupView];
[UIView animateWithDuration:.2 animations:^{
[self.popupView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
}];
}
这是一张图片: http : //www.box.net/shared/static/08ji4s0f6i1b8qubrtz6.png
@乔恩:
方法-1:
通过将主视图的Alpha值设置为0来使主视图透明,并在仅占主屏幕一半的主视图中添加一个子视图,并使其不透明(Alpha值为1),这与默认情况相同。
然后,使用当前的“模态视图控制器”简单地显示视图控制器。
请记住,由于具有透明性,您将能够看到以前视图的一半,但由于有透明视图,因此无法触摸它。
方法2:
另一个解决方法是为UIView设置动画,其大小为现有视图的一半。
然后,您只需简单地跟随UIView的动画。
在这里,由于它只是一个UIView,将作为子视图添加到现有视图,因此您可以触摸屏幕的其余部分。
因此,您可以按照自己的要求选择其中一种方法。
希望这对您有所帮助。
这是您需要的在GitHub TDSemiModalView
具有半视图日期选择器的开源代码。 检查代码中的演示项目。 这是链接。希望它可以解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.