Ios 在UIButton中,setImage和SetBackgroundImage内容id不同,它已旋转90度

Ios 在UIButton中,setImage和SetBackgroundImage内容id不同,它已旋转90度,ios,uiimage,uibutton,rotation,setbackground,Ios,Uiimage,Uibutton,Rotation,Setbackground,我已经做了一个关于UIButton的测试,这个按钮应该显示摄像头的捕获缓冲区,所以我将为UIButton设置图像和背景图像。 从相机捕获数据中,我设置了图像和背景图像,图像显示正确,但当我按下按钮时,背景图像已旋转90度。 测试代码为: NSData *imagedata = [AVCaptureStillImageOutput jpegStillImageNSDataRepesentation:buffer]; UIImage *image = [[UIImage alloc] initWit

我已经做了一个关于UIButton的测试,这个按钮应该显示摄像头的捕获缓冲区,所以我将为UIButton设置图像和背景图像。 从相机捕获数据中,我设置了图像和背景图像,图像显示正确,但当我按下按钮时,背景图像已旋转90度。 测试代码为:

NSData *imagedata = [AVCaptureStillImageOutput jpegStillImageNSDataRepesentation:buffer];
UIImage *image = [[UIImage alloc] initWithData:imagedata];
[galleryBtn setImage:image forState:UIControlStateNormal];
[galleryBtn setBackgroundImage:image forState:UIControlStateNormal];
但是当我从png数据创建UIImage时,显示是正确的,没有旋转

UIImage *image = [UIImage imageNamed:@"0.png"];

请帮助我。

解决方案是将突出显示的图像状态(以及正常)设置为:


尽管默认情况下,这会隐藏在按下时发生的任何颜色突出显示。

我没有在UI按钮上方使用UIImageView,并设置UIImageView内容。但我不知道为什么UIButton的图像和背景图像会显示不同,即使我将相同的UIImage设置到此UIButton。我已检查了从摄影机jpg结果创建的UIImage,旋转不是0,是3。我已尝试其他方法修复此问题。从图形创建新的UIImage。然后将图像和背景图像设置为UIButton。
[galleryBtn setImage:image forState:UIControlStateHighlighted];
[galleryBtn setImage:image forState:UIControlStateNormal];