【问题标题】:How can I add UIView object to self.view.window in ios7?如何在 ios7 中将 UIView 对象添加到 self.view.window?
【发布时间】:2014-02-04 09:33:52
【问题描述】:

我想添加一个覆盖整个屏幕的暗视图层。

为了做到这一点,我将UIView 对象添加到UIViewController 的窗口属性中,如下所示。我记得我可以在ios6 中像这样向window 添加一个视图。但是,它在 ios7 中不起作用。

我怎样才能让它发挥作用?

提前致谢!!

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

    overlayView.backgroundColor = [UIColor blackColor];
    overlayView.alpha = 0.8;

    [self.view.window addSubview:overlayView];
}

【问题讨论】:

  • 感谢您的回复。它在表格视图内部添加了一个视图,因此它不会覆盖导航栏和标签栏。

标签: ios objective-c ios7


【解决方案1】:

这是一种做你想做的事的方法:

[[UIApplication sharedApplication].keyWindow addSubview:overlayView];

【讨论】:

  • 它运行没有任何错误,但我的视图没有显示。
【解决方案2】:

根据 UIView 的文档,如果视图尚未添加到窗口中,则 window 属性为 nil,即调用 viewDidLoad 时的情况。

你可以在viewDidAppear:(BOOL)animated;做同样的事情

- (void)viewDidAppear:(BOOL)animated; {
    UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];

    overlayView.backgroundColor = [UIColor blackColor];
    overlayView.alpha = 0.8;
    [self.view.window addSubview:overlayView];
}

【讨论】:

    【解决方案3】:

    斯威夫特 3

    UIApplication.shared.keyWindow?.addSubview(overlayView);
    

    【讨论】:

      【解决方案4】:

      你可以这样试试

      - (void)viewDidLoad
      {
          [super viewDidLoad];
      
          UIView *overlayView = [[UIView alloc] initWithFrame:self.view.frame];
      
          overlayView.backgroundColor = [UIColor blackColor];
          overlayView.alpha = 0.8;
          overlayView.center = self.view.center
          [self.view addSubview:overlayView];
      }
      

      希望对你有所帮助……

      【讨论】:

        猜你喜欢
        • 2013-09-29
        • 1970-01-01
        • 1970-01-01
        • 2014-08-23
        • 2014-09-14
        • 2023-01-19
        • 1970-01-01
        • 2023-03-21
        • 2014-05-16
        相关资源
        最近更新 更多