2012-03-03 2 views
0

Я создаю приложение iPad для ios 5 с использованием дуги и раскадровки в xcode 4.3. Мне нужно настроить UInavigationbar, чтобы сделать его более широким, чем его обычный размер (почти двойной размер), и добавить к нему некоторые пользовательские логотипы (изображения) и кнопки. Может ли кто-нибудь указать мне в правильном направлении, как это может быть достигнуто? любые сторонние библиотеки также приветствуются, если потребуется.Создание пользовательского UINavigationbar для iPad в iOS 5 с ARC

Заранее благодарю вас за помощь.

ответ

2

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

Вот некоторая информация о изменении размера панели навигации

Change the height of NavigationBar and UIBarButtonItem elements inside it in Cocoa Touch

iPhone - How set uinavigationbar height?

И еще одна статья о том, как добавить изображения и кнопки в качестве подвидов.

http://www.iosdevnotes.com/2011/09/custom-uinavigationbars-techniques/

+0

В статьях не упоминается, как установить новую высоту в среде ARC. Уверен, что я что-то пропустил. Можете ли вы помочь? – inforeqd

+0

ARC, автоматический подсчет ссылок, занимается управлением памятью. Единственное различие заключается в том, что сохранение/освобождение обрабатываются автоматически. Просто удалите любой релиз, автозапуск, сохранить и т. Д., Когда Xcode предложит вам сделать, и все будет в порядке. –

+0

ты спасатель! для iOS 5.0. Я подклассифицировал UINavigationabar , после чего я реализовал: sizeThatFits, чтобы увеличить размер и drawRect, чтобы создать пользовательскую панель из изображения. '@interface CustomNavigationBar: UINavigationBar @end #import "CustomNavigationBar.h" @implementation CustomNavigationBar - (CGSize) sizeThatFits: (CGSize) размер { CGSize NewSize = CGSizeMake (self.frame.size.width, 175) ; return newSize; } - (void) drawRect: (CGRect) rect { \t UIImage * image = [UIImage imageNamed: @ "navigationbar.png"]; \t [image drawInRect: CGRectMake (0, 0, rect.size.width, rect.size.height)]; } @ end' – inforeqd

0

Я не знаю, как бы вы изменить размер панели UINavigation. Чтобы добавить пользовательские кнопки, вы можете открыть свой навигационный элемент в раскадровке до интерфейса вашего контроллера. Затем используйте setLeftBarButtonItems: и setRightBarButtonItems: поместите несколько кнопок, которые вы создали ранее.

Чтобы добавить пользовательские черно-белые логотипы к кнопкам, вы можете использовать [navigationButtonItem setBackgroundImage: yourImage].

Если вы хотите, чтобы ваши логотипы были в цвете, вы можете создать UIButton с цветным логотипом ([newButton setImage: yourImage]), а затем заново создать элемент навигации с помощью: initWithCustomView: newButton.

Смежные вопросы