Как решить, что вид сломан, когда личная точка доступа включена в ios?

Я создаю представление программно для UITabBarController.

В ViewController.m

    @interface ViewController ()
    {   
        UITabBarController *tabBarController;
        MainViewController *mainView;
        GroupViewController *grpView;
    }

    -(id)init
    {
        self=[super init];

        [self initControl];
        return self;
    }


    -(void)initControl
    {

    }

    - (void)viewDidLoad {
        [super viewDidLoad];

        NSLog(@"ViewController - viewDidLoad");
        self.mainView=[[MainViewController alloc] init];
        self.grpView=[[GroupViewController alloc] initWithNibName:@"GroupViewController" bundle:[NSBundle mainBundle]];
        self.meView=[[MeViewController alloc] initWithNibName:@"MeViewController" bundle:[NSBundle mainBundle]];



        UITabBarItem *tempItem=[[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"Device", @"Device") image:[[UIImage imageNamed:@"device1"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] tag:1];
        tempItem.selectedImage=[UIImage imageNamed:@"device"];
        mainView.tabBarItem=tempItem;
        tempItem.imageInsets = UIEdgeInsetsMake(0.0, 0, -0.0, 0);


        tempItem=[[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"Group", @"Group") image:[[UIImage imageNamed:@"group1"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] tag:2];
        tempItem.selectedImage=[UIImage imageNamed:@"group1"];
        grpView.tabBarItem=tempItem;
        tempItem.imageInsets = UIEdgeInsetsMake(0.0, 0, -0.0, 0);

        self.tabBarController= [[UITabBarController alloc] init];
        NSMutableArray *controllers=[[NSMutableArray alloc] initWithCapacity:2];

        [controllers addObject:self.mainView];
        [controllers addObject:self.grpView];

        self.tabBarController.viewControllers =controllers;
        [self.view addSubview:self.tabBarController.view];
        self.tabBarController.delegate=self;
    }

Это нормально работает, когда личная точка доступа отключена.

введите здесь описание изображения

Когда я включаю точку доступа и кто-то подключается к iPhone, а затем открываю приложение. view находится за пределами экрана, как показано на следующем снимке экрана, когда персональная точка доступа включена.

введите здесь описание изображения

Как решить проблему, когда включается личная точка доступа? Заранее спасибо.


person Wun    schedule 11.05.2017    source источник


Ответы (1)


проверьте это

добавить наблюдатель для строки состояния изменил длину:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(StatusbarspaceHide:) name:UIApplicationWillEnterForegroundNotification object:nil];

действие при изменении строки состояния:

-(void)StatusbarspaceHide:(NSNotificationCenter *)notification{
    [UIView animateWithDuration:0.35 animations:^{
        // CGRect windowFrame = ((UINavigationController *)((UITabBarController *)self.window.rootViewController).viewControllers[0]).view.frame;
        CGRect windowFrame = self.view.frame;

        if (self.view.frame.origin.y > 20) {
            windowFrame.origin.y = self.view.frame.size.height - 20 ;// old status bar frame is 20
        }
        self.view.frame = windowFrame;
    }];
}
person NAVEEN KUMAR    schedule 11.05.2017
comment
Я попытался, но он не получил никакого уведомления. - person Wun; 11.05.2017
comment
у меня все работает нормально ... что случилось, вы проверили точки останова - person NAVEEN KUMAR; 11.05.2017