最近我观察到了UIImageView的一些奇怪行为,我想知道是否有人可以提供一些内容。我有两个UIImageViews,里面的图像是从数据库加载的。在Xcode检查器内部,我设置了剪辑子视图属性,并将图像模式更改为宽高比填充。这样可以正常工作,当加载图像时,它们在视图中正确显示并按照它们应该被剪裁。但是,我想添加一个占位符图像,但尚未上传用户。当我这样做时,图像没有调整大小并且拉伸通过它的视图。我尝试以编程方式重置属性,如下所示,但没有任何改变。
//code used to try to reset the image mode and clipping of the sub-views
//set up user profile picture
_profilePic.contentMode = UIViewContentModeScaleAspectFit;
_profilePic.layer.masksToBounds = YES;
_profilePic.layer.borderColor = [UIColor whiteColor].CGColor;
_profilePic.layer.borderWidth = 3.0f;
//set up users cover photo
_coverPhoto.contentMode = UIViewContentModeScaleAspectFit;
_coverPhoto.clipsToBounds = YES;
_coverPhoto.layer.masksToBounds = YES;
当我通过Xcode检查器向视图添加图像时,为什么会发生这种情况,而当图像保持为空时却没有?
答案 0 :(得分:0)
您应该使用UIViewContentModeScaleAspectFill
代替UIViewContentModeScaleAspectFit
。
答案 1 :(得分:0)
当我在ViewDidLoad的开头添加以下代码行时,我得到相同的效果,没有任何不需要的图像溢出。
_coverPhoto.image = [UIImage imageNamed:@"stockCoverPhoto.png"];
_profilePic.image = [UIImage imageNamed:@"stockProfilePhoto.png"];
不是最具信息性的解决方案,因为它没有提供对此问题的深入了解,但它是一种解决方案。任何人都有关于如何解决这个问题的任何其他意见,为什么它甚至发生我希望听到它,因为我仍然在摸不着头脑。
答案 2 :(得分:0)
同样在这里..无法在setImage之后将contentMode更改为UIImageView ..