2012-03-03 58 views
0

我正在使用xcode 4.3中的arc和storyboard为ios 5创建iPad应用程序。我需要自定义UInavigationbar,使其比通常尺寸(几乎是双倍尺寸)更宽,并添加一些自定义徽标(图像)和按钮。任何人都可以在正确的方向上指出我如何实现这个目标?如果需要,任何第三方库也是受欢迎的。在iOS 5中使用ARC创建iPad的自定义UINavigationbar使用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 2012-03-04 07:35:55

+0

ARC,自动引用计数,处理内存管理。唯一的区别是保留/释放是自动处理的。只要删除任何释放,autorelease,保留等,因为Xcode会提示你做,你会没事的。 – 2012-03-04 09:56:01

+0

你是一个救星!适用于iOS 5.0。我分类UINavigationBar ,然后我实现:sizeThatFits增加大小和drawRect从图像创建自定义栏。 '@interface CustomNavigationBar:UINavigationBar的 @end #进口 “CustomNavigationBar.h” @implementation CustomNavigationBar - (CGSize)sizeThatFits:(CGSize)大小{ CGSize新尺寸= CGSizeMake(self.frame.size.width,175) ; return newSize; (void)drawRect:(CGRect)rect { } - (void)drawRect:(CGRect)rect {UIImage * image = [UIImage imageNamed:@“navigationbar.png”]; \t [image drawInRect:CGRectMake(0,0,rect.size.width,rect.size.height)]; } @ end' – inforeqd 2012-03-04 11:29:48

0

我不知道你将如何改变UINavigation栏的大小。 要添加自定义按钮,您可以将故事板中的导航项插入视图控制器的界面。然后使用setLeftBarButtonItems:和setRightBarButtonItems:放置先前创建的多个按钮。

要将自定义黑白标志添加到按钮,您可以使用[navigationButtonItem setBackgroundImage:yourImage]。

如果你想要彩色标志,你可以创建一个带有彩色标志的UIButton([newButton setImage:yourImage]),然后使用initWithCustomView:newButton来初始化你的导航按钮项。