iOS - размер UIToolbar после возвращения из фона изменился - PullRequest
0 голосов
/ 24 октября 2011

У меня есть панель инструментов, которой я манипулировал, чтобы занять немного больше места на экране. Проблема в том, что когда приложение возвращается из фона, оно масштабируется до размера исходного размера, и я не могу изменить его размер снова.

Как я сейчас его модифицирую, просто через self.naviagtionController.toolbar.frame = CGRectMake(X,Y,W,H);

Также я использую панель инструментов navigationController. (и у меня есть очень конкретная причина для использования панели инструментов navigationControllers)

1 Ответ

0 голосов
/ 25 октября 2011

Таким образом, ваша проверка приложения стала активным уведомлением, а затем установила размер панели инструментов. Затем вы устанавливаете нестандартный размер, и после того, как вы установили размер, что-то приходит и меняет его обратно на размер по умолчанию. Это об этом?

Я думаю, что был бы лучший способ сделать это, но ...

Вы можете попытаться отложить изменение до выполнения основного цикла выполнения. Вы можете сделать это с помощью GCD, чтобы поместить действие в фоновый поток, который возвращает его в основной поток.

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    dispatch_async(dispatch_get_main_queue(), ^{
        // set toolbar frame
        self.naviagtionController.toolbar.frame = CGRectMake(X,Y,W,H);
    });
});
...