UINavigationBar Нижний разделитель Цвет линии - PullRequest
1 голос
/ 16 сентября 2009

Как я могу изменить цвет линии, разделяющей панель навигации и вид? Например, flickr изменил его на серый (http://www.geardiary.com/wp-content/uploads/2009/09/Screen-shot-2009-09-08-at-8.00.06-AM.png)

По умолчанию мой всегда черный ...

Заранее спасибо за помощь, Nico

1 Ответ

2 голосов
/ 16 сентября 2009

Они использовали настраиваемую нижнюю панель, а не предоставленную Apple. Я не знаю ваших настроек, но если вы можете создать или нарисовать свой собственный вид, какой хотите (вы можете сделать это), и прикрепить к нему кнопки (вы можете сделать это тоже), то у вас есть панель инструментов

#define TOOLBAR_HEIGHT 44

CGRect frame = CGRectMake(self.view.bounds.size.height - TOOLBAR_HEIGHT, 0.0, self.view.bounds.size.width, TOOLBAR_HEIGHT);
UIView *customBottomBar = [[UIView alloc] initWithFrame:frame];
[customBottomBar setBackgroundColor: [UIColor grayColor]];

UIButton *button = [[UIButton alloc] initWithFrame:<frame goes here>]
... <button setup>
[customBottomBar addSubview:button];
[button release];

...<more buttons>
...<more buttons>

[self.view addSubview:customBottomBar];
[customBottomBar release];

И чтобы ответить на ваш вопрос, вы можете добавить все, что вы хотите, к любому представлению, поэтому, хотя способ, который я только что предлагаю, является наиболее настраиваемым, вы можете просто захотеть разместить цветную полосу размером 1 пиксель в нужном месте (поверх существующей панели инструментов), выполнив это:

CGRect frame = CGRectMake(self.view.bounds.size.height - TOOLBAR_HEIGHT, 0.0, self.view.bounds.size.width, 1);
UIView *customLine = [[UIView alloc] initWithFrame:frame];
[customLine setBackgroundColor: [UIColor grayColor]];
[self.view addSubview:customLine];
[customLine release];
...