Ios 内容图像不正确,autolayout UI3按钮的宽度与屏幕宽度成比例
我有3个按钮,它们的宽度与屏幕的宽度成比例, 没有约束误差 (=导线监控)按钮1(=HSpace)按钮2(=HSpace)按钮3(=牵引监控) 按钮2与按钮1的宽度相同 按钮3与按钮1的宽度相同 按钮1中心垂直于superview 按钮2和3中心垂直于按钮1 按钮1的高度与其宽度1:1的比例成正比 按钮2和3等于高度按钮1 结果: 3个按钮的边框正确(我知道为什么它正确,因为我将背景色设置为黄色,并且它的真实宽度相同) 但不正确的部分是,为什么只有第一个按钮的图像较小,其他按钮的图像大小正确 已在interfacebuilder上设置,如下所示:Ios 内容图像不正确,autolayout UI3按钮的宽度与屏幕宽度成比例,ios,uibutton,interface-builder,aspect-ratio,ios-autolayout,Ios,Uibutton,Interface Builder,Aspect Ratio,Ios Autolayout,我有3个按钮,它们的宽度与屏幕的宽度成比例, 没有约束误差 (=导线监控)按钮1(=HSpace)按钮2(=HSpace)按钮3(=牵引监控) 按钮2与按钮1的宽度相同 按钮3与按钮1的宽度相同 按钮1中心垂直于superview 按钮2和3中心垂直于按钮1 按钮1的高度与其宽度1:1的比例成正比 按钮2和3等于高度按钮1 结果: 3个按钮的边框正确(我知道为什么它正确,因为我将背景色设置为黄色,并且它的真实宽度相同) 但不正确的部分是,为什么只有第一个按钮的图像较小,其他按钮的图像大小正确 已
[btn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentFill];
[btn setContentVerticalAlignment:UIControlContentVerticalAlignmentFill];
3个按钮具有相同的属性
但为什么第一个按钮有不正确的图像内容,就像它是因为某种原因而被方面适合(我没有设置方面适合或其他)
有关更多详细信息,请参见以下图片:
在界面生成器上:
在编译设备上:
有人经历过吗
ps:对于iOS>=8.4您可能使用了UIButton的
图像
属性,而不是与其他按钮不同的背景图像
。您可以通过这样的代码设置背景图像
[按钮设置背景图像:状态动画:UIControlStateNormal]
或者,您可以使用UIButton的文件检查器在故事板上设置它。与其他按钮不同,您可能使用了UIButton的
图像
属性,而不是背景图像
。您可以通过这样的代码设置背景图像
[按钮设置背景图像:状态动画:UIControlStateNormal]
或者,您可以使用UIButton的文件检查器在故事板上设置它。我认为堆栈视图在这种情况下会做得更好 在界面生成器: 在属性检查器: 按钮1的高度与其宽度1:1的比例成正比 按钮2和按钮3没有任何约束
希望这能帮助您:)我认为堆栈视图在这种情况下会做得更好 在界面生成器: 在属性检查器: 按钮1的高度与其宽度1:1的比例成正比 按钮2和按钮3没有任何约束
希望这能帮助您:)我找到了解决方案: 这是因为我有在interface builder运行时生成的自定义类属性
我忘记删除第一个按钮自定义属性,这解释了为什么只有第一个按钮不正确。我找到了解决方案: 这是因为我有在interface builder运行时生成的自定义类属性
我忘了删除第一个按钮自定义属性,这解释了为什么只有第一个按钮是不正确的。all使用UIButton的
image
属性而不是backgroundImage
,但出于某种原因,我想使用image的属性而不是backgroundImage属性。或者我应该使用backgroundImage
来处理这种情况吗?我使用backgroundImages
属性尝试了您的解决方案,它显示了正确的内容图像。真棒*thumbsupall正在使用UIButton的image
属性notbackgroundImage
,但出于某种原因,我想使用image的属性not background image属性。或者我应该在这种情况下使用backgroundImage
?我使用backgroundImages
属性尝试了您的解决方案,它显示了正确的内容图像。真棒*拇指sup对不起,我忘了提到这是针对iOS>=8.4的,UIStackView
是针对iOS>=9.0的,将编辑描述。@YosephWijaya您有gmail吗?我根据你的描述写了一个演示,但是按钮显示正确。嗯,真的吗?是的,当然,发邮件给我info@yoseph.wsI已将其发送给您。很抱歉,我忘了提及这是针对iOS>=8.4的,UIStackView
是针对iOS>=9.0的,将编辑说明。@YosephWijaya您有gmail吗?我根据你的描述写了一个演示,但是按钮显示正确。嗯,真的吗?是的,当然,发邮件给我info@yoseph.wsI我已经寄给你了。