Iphone - UIToolbar автоматическое положение - PullRequest
3 голосов
/ 20 февраля 2010

У меня есть приложение, в котором UIToolBar должен постоянно находиться в нижней части экрана. Независимо от ориентации устройства.

Панель инструментов должна иметь одинаковую ширину экрана и всегда быть выровненной по нижней стороне.

Если устройство вращается, панель инструментов должна принять новую ширину и продолжить выравнивание внизу.

Есть ли способ сделать это программно?

спасибо за любую помощь.

Ответы [ 3 ]

6 голосов
/ 20 февраля 2010

Во-первых, автоповорот может быть немного сложнее. Например, если вы используете UITabBarController, вам нужно будет создать его подкласс и добавить соответствующие методы делегата. Вы должны прочитать об автоповороте через документы Apple и Google, прежде чем по-настоящему погрузиться.

Чтобы конкретно ответить на ваш вопрос, вот как вам нужно объявить UIToolbar таким образом, чтобы он автоматически поворачивался, когда приложение настроено для этого:

// I keep this definition in a file called constants.h since I use it a lot
#define SCREEN_FRAME [[UIScreen mainScreen] applicationFrame]

UIToolbar *tb = [[[UIToolbar alloc]init]autorelease];
// this frame will position a toolbar at the bottom of the screen
tb.frame = CGRectMake(0,
            SCREEN_FRAME.size.height-tb.frame.size.height,
            SCREEN_FRAME.size.width, 
            tb.frame.size.height);
//Setting the auto-resizing mask will make the toolbar resize when the viewController 
//it resides in rotates.
tb.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
0 голосов
/ 21 февраля 2010

Используйте контроллер навигации и используйте свойство toolbarItems .

0 голосов
/ 20 февраля 2010

Да. Взгляните на маски авторазмера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...