如何在 iOS 中使用边缘插图?

Posted

技术标签:

【中文标题】如何在 iOS 中使用边缘插图?【英文标题】:How to use edge insets in iOS? 【发布时间】:2013-03-06 22:29:29 【问题描述】:

如何使用边缘插图使图像适合按钮?我不确定 UIEdgeInsetsMake() 中的参数使用什么值。我可以以某种方式使用按钮的宽度和高度来设置它们吗?

我希望按钮在未选中时只是一个图像。我了解如何执行“未选择时”部分,但我不知道如何使用边缘插图,也不知道该术语的确切含义。

我现在有这个:

image = [image resizableImageWithCapInsets:UIEdgeInsetsMake(<#CGFloat top#>, <#CGFloat left#>, <#CGFloat bottom#>, <#CGFloat right#>)];

[button setImage:image forState:!UIControlStateSelected];

另外,一旦按钮被选中,我将如何恢复为不使用图像?

【问题讨论】:

您能提供更多细节吗?你试过什么?你想让按钮只是一个图像,一个顶部有文本的图像,还是什么? 您可能会在这里找到答案***.com/questions/7628004/… 【参考方案1】:

我想我明白你在说什么。如果我误解了您的问题,请告诉我。

假设你有myImage.png。初始化如下:

[button setImage:[UIImage imageNamed:@"myImage.png"] forState:UIControlStateNormal];

然后,假设您在 Interface Builder 中为按钮连接了 IBAction:

- (IBAction)myButtonWasPressed:(UIButton *)sender

    [sender setImage:nil];

【讨论】:

谢谢,但是如何使用边缘插入来缩小图片并使其与按钮的大小相匹配? 使用setBackgroundImage 而不是setImage 应该适当地缩放它。 如果您正在谈论将图像设置为与整个按钮不同的大小,那么您将需要使用边缘插图。

以上是关于如何在 iOS 中使用边缘插图?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 UITableView 设置其单元格的插图而不在整个表格上设置插图?

WKInterfaceController,如何以编程方式设置“间距”和“插图”

iOS:从 iPod 库中获取和显示专辑插图

如何在 iOS 中绘制带有弯曲边缘的弧?

iOS 7 自定义容器控制器 - 如何设置子控制器的视图插图?

如何在LaTeX中制作这样的插图,图片+文字?