Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 调整按钮图像_Objective C - Fatal编程技术网

Objective c 调整按钮图像

Objective c 调整按钮图像,objective-c,Objective C,我的UIbutton正在拉伸我分配给它的图像 [self.BTN_pic_1 setImage:myPIC forState:UIControlStateNormal]; 我使用这段代码来调整正确的大小模式,如下所示 [self.BTN_pic_1 setContentMode:UIViewContentModeScaleAspectFit]; 仅当我按下按钮时,aspect fit才起作用。我希望方面适合开始工作,只要我加载图像 我如何才能让按钮做到这一点?您不想修复按钮的内容模式;这是

我的UIbutton正在拉伸我分配给它的图像

[self.BTN_pic_1 setImage:myPIC forState:UIControlStateNormal];
我使用这段代码来调整正确的大小模式,如下所示

 [self.BTN_pic_1 setContentMode:UIViewContentModeScaleAspectFit];
仅当我按下按钮时,aspect fit才起作用。我希望方面适合开始工作,只要我加载图像


我如何才能让按钮做到这一点?

您不想修复按钮的内容模式;这是按钮的
imageView
的内容模式。这就是调用
setImage:forState:
时保存指定图像的内容。使用imageEdgeInsets控制图像的拉伸方式

设置按钮的imageView而不是按钮的contentMode。 [self.BTN_pic_1.imageView setContentMode:UIViewContentModeScaleAspectFit]

免责声明:
这个问题有很多可能的答案,在我们给你一个明确的答案之前,你可能需要更具体一些。

有趣。我没有试过这个,但是你试过告诉按钮它需要重新绘制吗?还要注意,在你的代码中,你正在和两个不同的按钮说话。你的问题可能就这么简单。我在apple文档中没有看到任何关于重绘的内容,我也不想在没有用户交互的情况下调用该操作。示例已经修复。谢谢,答案是[self.BTN_pic_main.imageView setHighlighted:YES];太晚了,马特赢了;)