为什么一个自定义的UIButton图像不会在Interface Builder调整?(Why doe

2019-06-24 12:20发布

为什么一个自定义的UIButton图像不与按钮调整?

我设置其视图模式,以规模在Interface Builder 来填充 ,但不像一个UIImageView图像,它不尊重设置。

我是不是找错了地方或者是不可能的?

Answer 1:

虽然这可能不会那么你以后有什么-背景图像不会缩放。



Answer 2:

试试这个:

[button setImage:image forState:UIControlStateNormal];
button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentFill;

在斯威夫特:

button.contentVerticalAlignment = .fill
button.contentHorizontalAlignment = .fill


Answer 3:

记住要为按钮设置控制对齐设置



Answer 4:

我知道这是旧的,但我认为正确的答案是,你应该设置内容模式为“隐藏”的UIImageView那就是里面的UIButton:

button.imageView.contentMode = UIViewContentModeScaleAspectFill;

这将改变与设定图像的图像视图的内容模式:

[button setImage:yourAwesomeImage forState:UIControlStateNormal]; 
//Or any other state


Answer 5:

只要做到(从设计还是从代码):

从设计

  1. 打开厦门国际银行或故事板。
  2. 选择按钮
  3. 内部属性检查器 (右侧)>在“控制”部分>选择水平和中古立式去年第四选项

[对于点#3:改变水平和垂直对齐到UIControlContentHorizo​​ntalAlignmentFill和UIControlContentVericalAlignmentFill]

从代码

button.contentHorizo​​ntalAlignment = UIControlContentHorizo​​ntalAlignmentFill; button.contentVerticalAlignment = UIControlContentVerticalAlignmentFill;



Answer 6:

接口生成器

为了让图像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


Answer 7:

尝试剪辑子视图界面生成器属性设置为true。

希望帮助。



Answer 8:

我在雨燕2.1迄今发现的最好的解决办法如下:

self.imageButton.imageView?.clipsToBounds = true
self.imageButton.imageView?.contentMode = UIViewContentMode.ScaleAspectFit

这将缩放图像所以它有一个方面适合在ImageView的。



Answer 9:

刚刚得到一个真正的UIImageView并将其放置一个UIButton在它的上面,并通过布局菜单设置来支持。 然后你就可以正确地扩展您的图像。



文章来源: Why does a custom UIButton image does not resize in Interface Builder?