【问题标题】:How To Present Half Screen Modal View?如何呈现半屏模式视图?
【发布时间】:2011-10-17 23:18:04
【问题描述】:

我有一个 UIViewController,当按下按钮时,我想要一个半屏视图向上滑动,其中包含一个 UIPicker。

我在 IB 中使用 UIPicker 以及带有完成/取消按钮的 UIToolBar 制作了一个 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

【问题讨论】:

    标签: iphone objective-c xcode uiviewcontroller modalviewcontroller


    【解决方案1】:

    @乔恩:

    方法一:

    通过将其 alpha 值设置为 0 来使您的主视图透明,并向主视图添加一个子视图,该子视图仅占主屏幕的一半,并保持不透明(alpha 值为 1),就像默认情况下一样。

    然后使用现有的模态视图控制器简单地呈现视图控制器。

    请记住,由于透明性,您将能够看到前一个视图的一半,但由于存在透明性视图,因此无法触摸它。

    方法 2:

    另一种解决方法是为大小为现有视图一半的 UIView 设置动画。

    那么你必须简单地跟随 UIView 的动画。

    这里只是一个 UIView,它将作为子视图添加到现有视图中,您将能够触摸屏幕的其余部分。

    因此,您可以根据自己的要求采用任何一种方法。

    希望对你有所帮助。

    【讨论】:

      【解决方案2】:

      这就是你需要它在 github TDSemiModalView 上的一个开源代码,它有一个半视图日期选择器。检查代码中的演示项目。这是链接..希望它能解决您的问题。

      TDSemiModalClass

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-25
        • 1970-01-01
        • 2019-02-12
        • 1970-01-01
        • 1970-01-01
        • 2014-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多