добавленное подпредставление не будет отображаться после перезапуска приложения - PullRequest
0 голосов
/ 24 декабря 2011

У меня добавлено подпредставление при перезапуске приложения, вызвано applicationDidBecomeActive, но не показано, в чем может быть причина?

- (UIView *)mySubView {
    if (_mySubView == nil) {
       _mySubView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
       _mySubView.opaque = NO;
       _mySubView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
       _mySubView.exclusiveTouch = YES;
       [_mySubView setUserInteractionEnabled:NO];
    }

    return _mySubView;
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    UIWindow *window = [[[UIApplication sharedApplication] windows] objectAtIndex:0];
    [window addSubview:[self mySubView]];
}

Что более интересно, это - оно будет показано, если яоставьте приложение запущенным, выключите устройство, затем снова включите устройство.Но если я закрою приложение, а затем перезапущу его, я не смогу увидеть подпредставление.

Ответы [ 2 ]

1 голос
/ 24 декабря 2011

Если вы являетесь представителем приложения и у вас есть свойство окна, как и должно быть, вы можете просто сделать это:

[[self window] addSubview:[self mySubView]];

Для установки свойства окна сделайте следующее:

В вашем AppDelegate.h

@property (strong, nonatomic) UIWindow *window;

В вашем приложении AppDelegate.m - (BOOL): (UIApplication *) приложение didFinishLaunchingWithOptions: (NSDictionary *) launchOptions

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

.
.
.
//Create your main controller
.
.
.

[self.window setRootViewController:mainController];
[self.window makeKeyAndVisible];
1 голос
/ 24 декабря 2011

Пожалуйста, добавьте следующую строку, как это,

- (void)applicationDidBecomeActive:(UIApplication *)application     
{

   UIWindow *window = [[[UIApplication sharedApplication] windows] objectAtIndex:0];

   [window addSubview:[self mySubView]];

   [window makeKeyAndVisible];

 }

, а также изменить цвет [UIColor blueColor];

Вы увидите эффект

Наслаждайтесь!

...