为什么一个自定义的UIButton图像不与按钮调整?
我设置其视图模式,以规模在Interface Builder 来填充 ,但不像一个UIImageView图像,它不尊重设置。
我是不是找错了地方或者是不可能的?
为什么一个自定义的UIButton图像不与按钮调整?
我设置其视图模式,以规模在Interface Builder 来填充 ,但不像一个UIImageView图像,它不尊重设置。
我是不是找错了地方或者是不可能的?
虽然这可能不会那么你以后有什么-背景图像不会缩放。
试试这个:
[button setImage:image forState:UIControlStateNormal];
button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;
在斯威夫特:
button.contentVerticalAlignment = .fill
button.contentHorizontalAlignment = .fill
记住要为按钮设置控制对齐设置
我知道这是旧的,但我认为正确的答案是,你应该设置内容模式为“隐藏”的UIImageView那就是里面的UIButton:
button.imageView.contentMode = UIViewContentModeScaleAspectFill;
这将改变与设定图像的图像视图的内容模式:
[button setImage:yourAwesomeImage forState:UIControlStateNormal];
//Or any other state
只要做到(从设计还是从代码):
[对于点#3:改变水平和垂直对齐到UIControlContentHorizontalAlignmentFill和UIControlContentVericalAlignmentFill]
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill; button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
接口生成器
为了让图像UIButtons缩放的方式在Interface Builder UIViews请按照下列步骤相同:
选择您的UIButton并从身份检查以下内容添加到用户自定义运行属性 :
imageView.contentMode 1号
其中数字是contentMode,例如枚举数:
0 = Scale to fill
1 = Aspect Fit
2 = Aspect Fill
etc..
然后打开属性编辑器,为您的UIButton和控制之下设置对齐来填充(右侧最后一个按钮)水平和垂直。
SWIFT 3
请注意,您也可以做到这一点与下面的代码:
button.imageView?.contentMode = .scaleAspectFit
button.contentVerticalAlignment = .fill
button.contentHorizontalAlignment = .fill
尝试剪辑子视图界面生成器属性设置为true。
希望帮助。
我在雨燕2.1迄今发现的最好的解决办法如下:
self.imageButton.imageView?.clipsToBounds = true
self.imageButton.imageView?.contentMode = UIViewContentMode.ScaleAspectFit
这将缩放图像所以它有一个方面适合在ImageView的。
刚刚得到一个真正的UIImageView并将其放置一个UIButton在它的上面,并通过布局菜单设置来支持。 然后你就可以正确地扩展您的图像。