以模态方式呈现UIView,不是全屏

时间:2010-11-29 14:58:29

标签: objective-c uiview uiviewcontroller ios4 modal-dialog

我有一个200 x 150像素的视图,我想在按下按钮时显示。如果我使用addSubview:,那么视图会显示在正确的位置,但我仍然可以点击超级视图上的其他按钮,这是我不想要的行为。

如果我使用presentModalViewController,则视图占据整个屏幕,这也是我不想要的......即使我将wantsFullScreenLayout设置为NO,也会发生这种情况。

如何呈现视图以便用户只能与呈现视图上的控件进行交互?

由于

1 个答案:

答案 0 :(得分:2)

使视图成为屏幕大小(考虑状态栏)。该视图应具有半透明的背景颜色(或清晰)。让200x150视图位于该视图的底部,使其具有UIActionSheet的外观,其中背景变暗,用户无法与屏幕上的其他元素交互。

然后,您可以使用presentModalViewController来展示视图。

<强>加成

在视图控制器的.m文件中,定义awakeFromNib:

-(void)awakeFromNib
{
    self.view.backgroundColor = [UIColor clearColor];
}