我有一个带有“自定义”类型的UIButton,带有“image”属性,可以从资源中获取其图像。图像小于按钮。我无法实现Interface Builder以保持图像的原始大小,同时根据需要缩放按钮的尺寸。
如何在IB中放置任意尺寸的按钮,保持原始图像尺寸,将其对准中心,左右,底部,按钮......?如果没有放置UIImageView就不可能吗?
答案 0 :(得分:19)
确保按钮的contentHorizontalAlignment
和contentVerticalAlignment
属性未分别设置为UIControlHorizontalAlignmentFill
和UIControlVerticalAlignmentFill
。这些值将缩放按钮图像以填充按钮框。任何其他值都会使图像适当对齐。
答案 1 :(得分:4)
使用image foreground放置不可调整大小的图像元素,可以在stackoverflow上的帖子中找到但是忘记了它的位置。
button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
button.imageEdgeInsets = UIEdgeInsetsMake(0,-10,0,0);
[button setImage:[UIImage imageNamed:@"back-button"] forState:UIControlStateNormal];