如何将图像设置为UIImage
对象。例如:
UIImage *img = [[UIImage alloc] init];
[img setImage:[UIImage imageNamed:@"anyImageName"]];
我的UIImage
对象在.h
文件中声明并在方法中分配init
,我需要在viewDidLoad
方法中设置图像。有任何想法吗?
如何将图像设置为UIImage
对象。例如:
UIImage *img = [[UIImage alloc] init];
[img setImage:[UIImage imageNamed:@"anyImageName"]];
我的UIImage
对象在.h
文件中声明并在方法中分配init
,我需要在viewDidLoad
方法中设置图像。有任何想法吗?
UIImage *img = [UIImage imageNamed:@"anyImageName"];
imageNamed:
返回与指定文件名关联的图像对象。+ (UIImage *)imageNamed:(NSString *)name
参数
name
文件的名称。如果这是第一次加载图像,该方法会在应用程序的主包中查找具有指定名称的图像。
返回值
指定文件的图像对象,如果方法找不到指定的图像,则返回 nil。讨论
此方法在系统缓存中查找具有指定名称的图像对象,如果该对象存在,则返回该对象。如果匹配的图像对象尚未在缓存中,则此方法从指定文件加载图像数据,缓存它,然后返回结果对象。
创建一个 UIImageView 并将 UIImage 添加到它:
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image Name"]] ;
然后将其添加到您的视图中:
[self.view addSubView: imageView];
跟着这个
UIImageView *imgview = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 300, 400)];
[imgview setImage:[UIImage imageNamed:@"YourImageName"]];
[imgview setContentMode:UIViewContentModeScaleAspectFit];
[self.view addSubview:imgview];
这一行有一个错误:
[img setImage:[UIImage imageNamed@"anyImageName"]];
它应该是:
[img setImage:[UIImage imageNamed:@"anyImageName"]];
UIImage *img = [UIImage imageNamed@"aImageName"];
或许:
UIImage *img = [[UIImage alloc] init];
以及当您要更改图像时:
img = [UIImage imageNamed:@"nameOfPng.png"];
但是对象不在内存中的同一个位置,但是如果你使用指针,同一个指针将指向最后加载的图像。
就像 vikingosgundo 说的那样,但请记住,如果您使用,[UIImage imageNamed:image]
那么图像会被缓存并消耗内存。因此,除非您打算在许多地方使用相同的图像,否则您应该加载图像,并使用imageWithContentsOfFile:
和imageWithData:
这将为您节省大量内存并加速您的应用程序。
首先声明 UIImageView 并给它框架
UIImageView *imageView = [[UIImageView alloc] initWithFrame: CGRectMake( 10.0f, 15.0f, 40.0f,40.0f )];
[imageView setBackgroundColor: [UIColor clearColor]];
[imageView setImage:[UIImage imageNamed:@"comments_profile_image.png"]];
[self.view addSubview: imageView];
您可以通过以下方式在 UIImage 对象中设置图像:
UIImage *imageObject = [UIImage imageNamed:@"imageFileName"];
但是通过像这样初始化UIImage
Object ,图像总是存储在缓存中,即使你让它nil
像这样imageObject=nil;
最好遵循这个:
NSString *imageFilePath = [[NSBundle mainBundle] pathForResource:@"imageFilename" ofType:@"imageFile_Extension"];
UIImage *imageObject = [UIImage imageWithContentsOfFile:imageFilePath];
例子: NSString *imageFilePath = [[NSBundle mainBundle] pathForResource:@"abc" ofType:@"png"];
UIImage *imageObject = [UIImage imageWithContentsOfFile:imageFilePath];
只需更改此行
[img setImage:[UIImage imageNamed:@"anyImageName"]];
与以下行
img = [UIImage imageNamed:@"anyImageName"];
你不能分配 UIImage,这是不可能的。UIImageView 的正确代码分配:
UIImageView *_image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"something.png"]] ;
绘制图像:
CGContextDrawImage(context, rect, _image.image.CGImage);
尝试此代码以 100% 工作....
UIImageView * imageview = [[UIImageView alloc] initWithFrame:CGRectMake(20,100, 80, 80)];
imageview.image = [UIImage imageNamed:@"myimage.jpg"];
[self.view addSubview:imageview];