您的位置:首页 > 产品设计 > UI/UE

除去UIBarButtonItem后面的自带UI,自定UIBarButtonItem背景图片。

2013-11-22 14:15 211 查看
在使用 UIBarButtonItem 系统提供的几个函数的时发现添加背景图片后会有个小框,而且很难去掉,影响效果,而且UIBarButtonItem好像不能使用frame 的属性,所以可以下面方法定制自己的UIBarButtonItem.

思想:对于UIBarButtonItem的定制,则可以利用[UIBarButtonItem initWithCustomeView:]方法进行。而因为UIBarButtonItem没有frame属性,而UIButton有bounds,还可以设置Button的背景图片,所以用已经设置bounds位置大小和背景图片的UIButton来替代UIBarButtonItem。

//设置UIBarButtonItem 背景图片

UIImage *sureImage = [UIImage imageNamed:@"btn_sure@2x.png"];

//初始化一个UIButton

UIButton *sureButton = [UIButton buttonWithType:UIButtonTypeCustom];

//设置UIButton.bounds的位置大小

sureButton.bounds = CGRectMake( 0, 0,
sureImage.size.width, sureImage.size.height );

//设置UIButton的背景图片

[sureButton setImage:sureImage forState:UIControlStateNormal];

//设置UIButton的响应事件

[sureButton addTarget:self action:@selector(sureButton:) forControlEvents:UIControlEventTouchUpInside];

//通过initWithCustomView:方法把UIButton加导UIBarButtonItem中

UIBarButtonItem *sureButtonItem = [[UIBarButtonItem alloc] initWithCustomView:sureButton];

//这句就不用注释了哈。

self.navigationItem.rightBarButtonItem =
sureButtonItem;

贴的只是部分代码,每行都有注释,因为看得懂吧,不懂得可以留言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: