我有一个UIViewController,当按下一个按钮时,我想要一个半屏视图向上滑动UIPicker。
我使用UIPicker在IB中创建了一个UIView,还有一个带有完成/取消按钮的UIToolBar。
我怎样才能使这个半视图向上滑动,背景视图仍然显示但是暗淡或无法播放。
到目前为止我正在使用此代码:
- (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
答案 0 :(得分:4)
@乔恩:
方式-1:强>
通过将其alpha值设置为0并将主视图添加到主视图的子视图,并将其保持为不透明(alpha值为1),默认情况下,将主视图设为透视。
然后使用现有的模态视图控制器简单地呈现视图控制器。
请记住,由于透明度,您可以看到前一个视图的一半,但由于存在透明视图,因此无法触及它。
方式-2:强>
另一种解决方法是为UIView设置动画,其大小是现有视图的一半。
然后你必须简单地关注UIView的动画。
这里只是一个将作为子视图添加到现有视图的UIView,您将能够触摸屏幕的其余部分。
因此,您可以根据自己的要求遵循这两种方法。
希望这会对你有所帮助。
答案 1 :(得分:2)
这就是你需要在github TDSemiModalView
上有一个半视图日期选择器的开源代码。检查代码中的演示项目。这是链接..希望它能解决您的问题。