Панель вкладок смещена вниз за пределы симулятора - PullRequest
0 голосов
/ 20 ноября 2011

Я создал пустой проект (XCode 4.2 IOS SDK 5), я добавил к нему новое представление и сделал его корневым контроллером представления внутри appDelegate, поэтому при запуске приложения оно отображает это представление правильно, однако Я добавил tabbarcontroller в представление, создал IBOutlet для него внутри вновь созданного представления и добавил эту строку в метод viewDidLoad представления:

[self.view addSubview:self.tabController.view];

, поэтому панель вкладок корректно загружается в симуляторе iphone, но с небольшой проблемой, которую я не смог исправить: половина этой панели вкладок смещена вниз в симуляторе, что предотвращает появление заголовков вкладок, точно так же, как на следующем снимке :

screenshot

Как я могу решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 21 ноября 2011

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

[tabController.view setFrame:self.view.bounds];

(при условии, что self.view - это представление, в котором вы его добавляете)

1 голос
/ 20 ноября 2011

Вид с панелью вкладок имеет высоту 480px, но вид, к которому вы его добавляете, меньше, чем из-за строки состояния. Это означает, что он начинается с 22px слишком низко, а заканчивается 22px слишком низко - в нижней части экрана.

Если вы хотите, чтобы панель вкладок была глобальной для приложения, свяжите ее с IBOutlet в делегате приложения, затем сделайте это с помощью метода didFinishLaunching:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{    
    // ...

    // Add the tab bar controller's view to the window and display.
    [window addSubview:tabController.view];
    [window makeKeyAndVisible];

    return YES;
}

Это добавляет его в главное окно, а не в другое представление. Это прикрепит его к верхней части экрана, поэтому нижняя часть будет внизу экрана.

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