Iphone 我可以从设备加载图像吗';是否将文档目录设置为AsyncImageView?

Iphone 我可以从设备加载图像吗';是否将文档目录设置为AsyncImageView?,iphone,objective-c,ios,ipad,xcode4,Iphone,Objective C,Ios,Ipad,Xcode4,实际上,我不确定这一点,但我有一个条件,我检查互联网是否可用,并相应地将图像加载到AsyncImageView中。当我从internet加载任何图像时,它都可以正常工作,但是否可以将本地图像加载到AsyncImageView?我猜你指的是Nick Lockwood?这只是UIImageView的一个类别,所以当您已经有了图像时,为什么不直接设置图像属性呢?事实上,我找到了这个问题的解决方案。我所做的就是这样 NSURL *theURL = [NSURL fileURLWithPath:@"/U

实际上,我不确定这一点,但我有一个条件,我检查互联网是否可用,并相应地将图像加载到AsyncImageView中。当我从internet加载任何图像时,它都可以正常工作,但是否可以将本地图像加载到AsyncImageView?

我猜你指的是Nick Lockwood?这只是UIImageView的一个类别,所以当您已经有了图像时,为什么不直接设置图像属性呢?

事实上,我找到了这个问题的解决方案。我所做的就是这样

 NSURL *theURL = [NSURL fileURLWithPath:@"/Users/gaurav/Library/Application Support/iPhone Simulator/5.0/Applications/AC6E9B2E-DB25-4933-A338-755B134E1A61/Documents/Attachment290_294_1344928691.jpeg"];
    NSLog(@"local URl is::%@",theURL);
    [self.asyncimageview loadImageFromURL:theURL];

也许下面的内容会对你有所帮助

  • 创建新文件

  • 从UIImageView继承

  • 复制/粘贴以下代码

    进口 导入“ASIHTTPRequest.h” @接口异步ImageView:UIImageView{ NSMutableData*数据; UIActivityIndicator视图*activityIndicator; NSString*urlString;//图像缓存字典的键 ASIHTTPRequest*本地请求; } @属性(非原子,赋值)UIActivityIndicatorView*activityIndicator

    • (void)loadImageFromURLString:(NSString*)UrlString
    • (void)从NSURL加载图像:(NSURL*)URL
    • (void)loadImageFromFile:(NSString*)文件路径; -(无效)显示加载程序; -(d)停止装载机; @结束
  • 然后在.m文件中粘贴以下内容

    导入“AsynchronousImageView.h” 导入“ASIDownloadCache.h” @异步ImageView的实现 @合成活性指示剂

    • (id)initWithFrame:(CGRect)帧 { self=[super initWithFrame:frame]; 如果(自我){ //初始化代码 //[自设置内容模式:UIViewContentModeScaleSpectFit]; } 回归自我; } -(无效)解除锁定 { 如果(本地){ [requestLocal setDelegate:nil]; } requestLocal=nil; 活动指示器=零; [super dealoc]; } /* //仅覆盖drawRect:如果执行自定义绘图。 //空实现会对动画期间的性能产生不利影响
    • (void)drawRect:(CGRect)rect { //绘图代码 } */ -(无效)显示加载程序{ 如果(activityIndicator==零){ activityIndicator=[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; [自添加子视图:活动指示器]; activityIndicator.frame=CGRectMake(self.bounds.size.width/2.0f-activityIndicator.frame.size.width/2.0f,self.bounds.size.height/2.0f-activityIndicator.frame.size.width,activityIndicator.frame.size.height/2.0f); [活动指示灯释放]; } [活动指示器启动激活]; } -(无效)停止装载机{ if(活动指示器){ [活动指示器停止设置动画]; [activityIndicator从SuperView中移除]; 活动指示器=零; } }
    • (void)loadImageFromFile:(NSString*)文件路径{ UIImage*img=[UIImage imageWithContentsOfFile:filePath]; [自我设置图像:img]; [自动停止装载机]; }
    • (void)loadImageFromURLString:(NSString*)UrlString { /如果(本地){ [requestLocal setDelegate:nil]; }/ requestLocal=nil; [自我表现]; NSURL*url=[NSURL-URLWithString:theUrlString]; requestLocal=[AsiHttpRequestRequestWithURL:url]; [requestLocal setDelegate:self]; [requestLocal setDidFailSelector:@selector(requestFailed)]; [requestLocal setDownloadCache:[ASIDownloadCache sharedCache]]; [requestLocal setCacheStoragePolicy:AsCachePermanentLyCacheStoragePolicy]; [本地启动同步]; self.image=[UIImage ImageName:@“playerDefault.png”]; }
    -(void)从NSURL加载图像:(NSURL*)URL { 如果(本地){ [requestLocal setDelegate:nil]; } requestLocal=nil; requestLocal=[AsiHttpRequestRequestWithURL:theUrl]; [requestLocal setDelegate:self]; [requestLocal setDidFailSelector:@selector(requestFailed)]; [本地启动同步]; }

    • (void)requestFinished:(ASIHTTPRequest*)请求 { requestLocal=nil; [自动停止装载机]; UIImage*tempArt=[UIImage imageWithData:[请求响应数据]]; 伊芙(坦帕){ 自我形象=坦帕; } [数据发布]; 数据=零; } -(void)requestFailed:(ASIHTTPRequest*)请求{ requestLocal=nil; [自动停止装载机]; [数据发布]; 数据=零; } @结束
  • 然后在ViewComtroller.h中导入AsycnhronousImageView类并编写

    让你的图像像这样

    IBOutlet AsycnhronousImageView*图像

  • 在xib AsycnhronousImageView而不是UIImage视图中更改类

  • 调用以下方法

    • (void)loadImageFromFile:(NSString*)文件路径