我不能将图像用于按钮的不同状态,因为每次我都有不同的文字。
从什么开始?我试图了解CoreGraphics和CoreAnimation,但是有太少的示例和教程,所以我的尝试并没有给我任何成功。
答案 0 :(得分:0)
你可以,并且应该使用图像。 UIKit有一个方法resizableImageWithCapInsets
,可以创建可调整大小的图像。您可以为其提供最小尺寸的图像,系统会将其拉伸以适合所需的尺寸。看起来您的图像高度固定,这很好,因为您无法使用此技术进行平滑渐变。
答案 1 :(得分:0)
UIButton
由背景图片和标题文字组成,因此您可以使用图片作为背景形状(setBackgroundImage(_:forState:)
),然后使用setTitle(_:forState:)
。
但是,您仍然可以使用Core Graphics,这样做有好处,例如它减少了应用程序包中渲染资产的数量。为此,最好的方法可能是创建一个CAShapeLayer
,其路径由UIBezierPath
构成,然后将其渲染到图形上下文中。在此上下文中,您可以提取UIImage
实例,并将其视为与从JPEG或PNG资源加载的图像相同(即,使用setBackgroundImage(_:forState:)
将其设置为按钮背景图像)