在右栏按钮中使用方形图像?

时间:2011-05-29 22:02:30

标签: iphone objective-c uinavigationbar

我希望我的方形图像周围有常规按钮形状,所以我选择了initWithImage:Style:Target:Action。问题是,它然后拉伸我的图像以适应宽按钮,这不是我想要的。如何让它在没有伸展的情况下将我的图像放在那里?我怎么会改变矩形宽度呢?

2 个答案:

答案 0 :(得分:2)

我不确定您是否可以将图像添加到条形按钮上,使其看起来像轮廓。我知道你可以很容易地添加自己的自定义视图,而不会拉伸图像。基本上,您所要做的就是创建一个用图像初始化的imageView,然后创建一个条形按钮项并向其添加自定义视图。

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myImage.png"]];  //or whatever image type you have
UIBarButtonItem *myButton = [[UIBarButtonItem alloc] initWithTitle:nil style:UIBarButtonItemStyleBordered target:self action:@selector(handlePress:)];
myButton.customView = imageView;
// now you have your image (unstretched) in place of your bar button item

然后您只需将按钮设置在您想要的位置即可。同样,这不会给你一个按钮背景,所以最好创建一个带有按钮背景的图像(可能是按钮上的现有图像,然后保存新图像并使用那个)

答案 1 :(得分:0)

您可以尝试调整UIBarButtonItem的宽度。

rightBarButton.width = 20.0;