14 iphone
我在这里阅读了各种帖子,询问类似的问题......我尝试了各种方式,包括边界和框架等,包括以下内容:
myImage.frame = CGRectMake(0.0f, 0.0f,50.0f, 50.0f);
Run Code Online (Sandbox Code Playgroud)
和:
myImage.bounds = CGRectMake(0.0f, 0.0f,50.0f, 120.0f);
Run Code Online (Sandbox Code Playgroud)
这些都不是.
但是,我觉得有趣的是,以下代码让我移动图像但不改变宽度:
CGRect frameRect = myImage.frame;
frameRect.size.width = 50.0f;
frameRect.origin.x += 10.5f;
myImage.frame = frameRect;
Run Code Online (Sandbox Code Playgroud)
那么为什么不改变我的ImageView的宽度/高度呢?
我在这里发现了另一篇文章,基本上说我必须修改一本小代码来调整我的图像大小...这是真的吗?
比如这一个: UIImage:调整大小,然后裁剪
当然这比那简单?
小智 26
以下内容将更改UIImaveView的大小,剪切基础图像而不调整其大小并使其与视图的左下角保持对齐:
imageView.frame = CGRectMake(
imageView.frame.origin.x,
imageView.frame.origin.y, newWidth, newHeight);
imageView.contentMode = UIViewContentModeBottomLeft; // This determines position of image
imageView.clipsToBounds = YES;
Run Code Online (Sandbox Code Playgroud)
Gle*_*ett 11
首先,你不能设置UIImage的框架或边界 - 这只适用于UIImageView.
我发现更改UIImageView的框架会导致Image 缩放到新的大小.有时,这是不合需要的 - 而你想要裁剪图像.
我不知道这是否是你要求的,但这里有一些代码可以在UIImageView中将图像裁剪为特定大小:
UIImage *myImage = [UIImage imageNamed:@"photo.png"];
CGRect cropRect = CGRectMake(0.0, 0.0, 320.0, 44.0));
CGImageRef croppedImage = CGImageCreateWithImageInRect([myImage CGImage], cropRect);
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:cropRect];
[myImageView setImage:[UIImage imageWithCGImage:croppedImage]];
CGImageRelease(croppedImage);
Run Code Online (Sandbox Code Playgroud)
Nil*_*ect -1
您不必写整本书,您可以复制该代码。
我相信 UIImageView 总是以 1.0 的比例在 0,0 处绘制图像。如果您想继续使用 UIImageView,则需要调整图像大小。
归档时间: |
|
查看次数: |
73794 次 |
最近记录: |