1

使用故事板中的界面构建器,我在导航工具栏的左上角放置了一个栏按钮项,用于切换表格视图单元格的编辑视图。我目前有类似“编辑单元格”的文本

我的问题是,如何更改它以使用图像?我为编辑单元格状态和编辑单元格关闭状态创建了自己的自定义图像,但是当我在界面构建器中指定图像时,图像在条形按钮项中被拉伸。我是否需要通过代码以编程方式制作此条形按钮项以使其使用图像的框架?如何指定状态?

我觉得应该有一种方法可以在界面构建器中执行此操作,但我尝试以编程方式执行此操作:

UIImage *image = [UIImage imageNamed:@"edit-off.png"];
UIButton *showEditButton = [UIButton buttonWithType:UIButtonTypeCustom];
showEditButton.bounds = CGRectMake( 0, 0, image.size.width, image.size.height );
[showEditButton setImage:image forState:UIControlStateNormal];
UIBarButtonItem *showEditButtonItem = [[UIBarButtonItem alloc] initWithCustomView:showEditButton];

现在如何将 showEditButtonItem 添加到导航栏的左上角?

在此处输入图像描述

实际图像:

在此处输入图像描述

4

2 回答 2

1

以编程方式添加按钮是这样的:

UIBarButtonItem *editButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"kyyL4.png"] style:UIBarButtonItemStylePlain target:self action:@selector(editObject:)];
self.navigationItem.rightBarButtonItem = editButton;

将此代码放入ViewController.m文件-viewDidLoad:的方法中。

(不幸的是图像也会以这种方式拉伸。)

于 2012-06-28T15:51:11.317 回答
1

iOS 中的图标应该有一定的大小。您可以在iOS Human Interface Guidelines中找到您可能想要的各种图标的所有尺寸。

至于为不同的状态设置不同的图标,我相信你需要在代码中做到这一点。

要为 a 设置图像,UIBarButtonItem您只需要设置image属性:

editButton.image = editActiveImage;

或者

editButton.image = editInactiveImage;
于 2012-06-28T15:43:07.623 回答