【发布时间】:2012-09-15 04:33:31
【问题描述】:
我对目标 c 非常陌生,我刚刚开始了解自己的方位。我想做一些非常简单的事情,但事实证明这是一个相当大的挑战:
我正在尝试将图像显示到UIImageView。我显示的图像很大,我希望它按比例缩小以适合UIImageView。我尝试设置AspectFit 查看模式,但图像显示为原始大小并被UIImageView 剪切。我的代码如下:
- (void)changeImages
{
UIImage* img11 = nil;
img11 = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"dog" ofType:@"jpeg"]];
u11.contentMode = UIViewContentModeScaleAspectFit;
u11.image = img11;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self changeImages];
}
谁能解释一下这个问题?
谢谢!
【问题讨论】:
-
你读过stackoverflow.com/questions/185652/… 吗?尤其是第二个答案可能很有趣。
-
所有权利,这应该有效。检查事项:您是否已经在笔尖/情节提要中设置了图像?如果是这样,这可能会掩盖未调用的代码。是否调用了 changeImages?您可以拨打
NSLog(@"changeImages called")来查看是否是,或者使用断点。如果不是,您可能忘记将 nib/storyboard 中的 ViewController 的类更改为您在上面编写的代码的类。u11是否指定为 IBOutlet 并正确链接到 nib/storyboard? -
如果你对objective c非常陌生,最好使用第三个关于图像大小调整的库,例如github.com/mattgemmell/MGImageUtilities
-
u11周围的视图层次结构是什么?也许不是 UIImageView 正在剪切图像,而是父视图? -
u11的帧大小是多少?其autresizesSubviews属性是否设置为YES?
标签: ios objective-c uiimageview uiimage