2013-05-07 90 views
4

我有问题来创建自定义导航栏像Uber app自定义IOS应用程序导航栏按钮

screenshot

我设置我的按钮背景图片:

UIImage *button44 = [[UIImage imageNamed:@"navButtonAdd"] 
        resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; 

[[UIBarButtonItem appearance] setBackgroundImage:button44 forState:UIControlStateNormal 
             barMetrics:UIBarMetricsDefault]; 

,但如果我从Xcode的界面上的按钮删除文本消失,它的形象,以及还存在在右侧填充,重新开始重复我的图像。

screenshot

有谁知道我怎么能解决这个问题?

这是我想如果我没有记错的话,你需要在一个的UIBarButtonItem自定义视图提前

+0

请使用显示您所指按钮的图像更新您的文章。这会比让用户去应用程序商店并尝试确定哪个屏幕快照以及哪些按钮意味着更好。 – rmaddy 2013-05-07 00:36:28

+0

尚未测试该应用程序,但其“导航栏”是否也像一个随便的UINavigationBar?我认为它不只是一个定制的UINavigationBar,而是一个普通的UIView或类似的东西,因为通常的项目不能像应用程序中那样获得“自由格式”。顺便说一句,下次面临同样的问题:) – geo 2013-05-07 00:46:12

+0

@geo是的,它使用应用程序时,就像一个随便的导航栏。只是按钮是不同的。 rmaddy很抱歉,谢谢Jano编辑我的帖子。 – 2013-05-07 00:53:31

回答

2
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"button"]]]; 
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"uberbar.png"] forBarMetrics:UIBarMetricsDefault]; 

作为一个按钮使用

screenshot

由于图像。所以你可以得到外观代理,为控制器设置图像,或者直接定制图像。该填充是对图形进行photoshopping并正确设置其尺寸的问题。

+0

感谢您的帮助,我对IOS很有新意,所以我会尝试使用自定义按钮的基本样式导航,我尝试了您的解决方案并且没有工作,但我确信我在某种方式上做错了,我已经有了自定义的导航栏模式,并且顶部的代码似乎没有替换默认的按钮样式 – 2013-05-07 18:51:44

+0

发布一个github示例,它使用了相同大小的图形资源,然后再次询问。可能有人会愿意分叉并修复它。 – Jano 2013-05-08 01:37:35