我希望我UIImageView的增长或缩小取决于它显示的实际图像的大小.但我希望它保持垂直居中,距离超视距的前沿10分钟.
但是,如果我设置这两个约束,它会抱怨我没有设置足够的约束来满足自动布局.对我来说,它似乎完美地描述了我想要的东西.我错过了什么?
UIImageView错误地渲染图像的大小.使用Scale Aspect Fit,如果UIImageView是正方形,则图像是正确的宽高比,在图像未填充的区域中具有透明度.
//Image is Square & Correct Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 320))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit
//Image is Rectangle & Incorrect Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 450))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit
Run Code Online (Sandbox Code Playgroud)
UIImageView需要触摸边缘并在屏幕的顶部和底部具有透明空间,并且内部图像需要保持其原始比率而不是拉伸更高.我附上了两张UIImageView内部图像渲染图像.

我有这个UIImageView,我有它的最大高度和最大宽度的值.我想要实现的是我想拍摄图像(具有任何宽高比和任何分辨率)并且我希望它适合边框,因此图片不会超过它们,但它可以根据需要缩小它们.(图中标记为红色):

现在图像正确地适合所需的大小,但我有两个担忧:1.UIImageView不等于调整大小的图像的大小,因此留下红色背景(我不想要那样)2.如果图像小于我的高度UIImageView没有调整到更小,它保持相同的高度.
这是我的代码,我知道它的错误:
UIImage *actualImage = [attachmentsArray lastObject];
UIImageView *attachmentImageNew = [[UIImageView alloc] initWithFrame:CGRectMake(5.5, 6.5, 245, 134)];
attachmentImageNew.image = actualImage;
attachmentImageNew.backgroundColor = [UIColor redColor];
attachmentImageNew.contentMode = UIViewContentModeScaleAspectFit;
Run Code Online (Sandbox Code Playgroud)
那么,如何动态改变大小不仅的UIImageView.image,但整体的UIImageView,从而使得它的尺寸完全可调的内容.任何帮助将不胜感激,谢谢!
所以我有点尴尬地问这个,因为它看起来很简陋,但自从开始iOS开发(大约一年的自我/互联网教学),当不使用故事板时,我非常依赖于框架大小和非常谨慎地使用自动布局.在目标CI中发现自己处于需要更频繁使用自动布局的情况,但是使用Swift我可以为框架的x和y起点,它的中心等设置动画......我从来没有遇到过我无法完成的情况想要单独使用帧大小和像素位置,我做了一些相当复杂的视图工作.我的问题是,使用自动布局而不是帧大小和像素位置有什么好处?由于无知和习惯,我不想错过一些很好的性能优势.非常感谢!
我有 4 个 UIImageViews 的自定义 UITableViewCell。我在 UIImageView.image 中设置了不同大小的图像,但我想缩放它的比例(顶部/底部和左侧/右侧没有黑线。我该怎么做?
ios ×6
objective-c ×3
uiimageview ×3
autolayout ×2
swift ×2
cgsize ×1
cocoa-touch ×1
frames ×1
iphone ×1
pixels ×1
uiimage ×1