【问题标题】:KeyWindow add subView, did not shows in the frontKeyWindow添加subView,前面没有显示
【发布时间】:2017-04-25 08:42:42
【问题描述】:

我使用keyWindow添加了一个子视图,添加成功但没有显示在屏幕层次结构的前面。

深灰色视图是我添加的视图:

我的代码是:

@interface ViewController ()
{
    LMLUpspringView *pop_v;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    pop_v = [[LMLUpspringView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];

    UIWindow *keywindow = [[[UIApplication sharedApplication] delegate] window];

    [keywindow addSubview:pop_v];

    //[keywindow bringSubviewToFront:pop_v];
    //[self.view addSubview:pop_v];

}

我曾尝试使用[keywindow bringSubviewToFront:pop_v] 将其带到前面。但不工作。

如果我使用[self.view addSubview:pop_v],它会显示在前面。

【问题讨论】:

    标签: ios objective-c uiview uiwindow keywindow


    【解决方案1】:

    你遇到这个问题,是因为你不知道viewDidLoad 方法和viewDidAppear:方法的区别。

    viewWillAppear:

    在视图添加到窗口的视图层次结构之前调用

    viewDidAppear:

    在视图添加到视图层次结构后调用

    添加到窗口视图层次结构中的控制器视图在viewWillAppear:viewDidAppear:之间,viewDidLoadviewWillAppear:前面,所以你不能这样做。你应该在viewDidAppear: 添加你的观点。

    【讨论】:

      【解决方案2】:

      您可以使用 appdelegate 的 Windows 解决这个问题:

      AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
      [appDelegate.window addSubview:pop_v]
      

      【讨论】:

        【解决方案3】:

        使用这个:

        @interface ViewController ()
        {
            LMLUpspringView *pop_v;
        }
        
        @end
        
        @implementation ViewController
        
        - (void)viewDidLoad {
            [super viewDidLoad];
        
            pop_v = [[LMLUpspringView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];
        

        UIWindow *keywindow = [[UIApplication sharedApplication] keyWindow];

            [keywindow addSubview:pop_v];
        
            //[keywindow bringSubviewToFront:pop_v];
            //[self.view addSubview:pop_v];
        
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多