【发布时间】:2016-07-26 09:06:13
【问题描述】:
我使用创建自定义栏按钮
+ (UIBarButtonItem *)barBtnItem:(id)target action:(SEL)action imageName:(NSString *)imageName frame:(CGRect)frame
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal];
[btn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
[btn setFrame:frame];
UIBarButtonItem *barBtn = [[UIBarButtonItem alloc] initWithCustomView:btn];
return barBtn;
}
框架大小
CGRectMake(0, 0, 22, 22)
但是,我认为由于纵横比,我的图像变小了,但在 UIButton 中正确居中
但是,我希望图像的大小与 UIButton 的大小相同。
我可以这样做吗?
我使用了 XCode 7 并尝试了它的切片功能。但我无法让它工作。
如果我可以通过代码做到这一点?
我也查看了 UIEdgeinsets,但我并不完全理解 cap/insets 的概念。
【问题讨论】:
-
两个答案都是正确的。然而,插图的值需要为负值才能扩展图像。 0 没有工作,因为它没有做任何事情。如果我将 insets 值设置为 -5,我会得到想要的行为。
-
如果你不介意设置为背景图片,你可以试试这个github.com/AlexHsieh/ButtonAppearance
标签: ios objective-c uibutton uiimage