在开发Ipad应用中,如果需要显示图片到窗口,首先要确定在哪一个UIVIEw中显示,再确定从哪里获取图片,下面实例代码为几种不同方式加载图片的设定
#import <UIKit/UIKit.h>
#import "ImageHelper-files.h"
#define COOKBOOK_PURPLE_color [UIcolor colorWithRed:0.20392f green:0.19607f blue:0.61176f Alpha:1.0f]
//实现宏定义,设定当前导航窗口右上角的按钮和事件代理对象
#define barbutton(Title,SELECTOR) [[[UIbarbuttonItem alloc] initWithTitle:Title style:UIbarbuttonItemStylePlain target:self action:SELECTOR] autorelease]
//设定当前窗口的视图 图片为X
#define SEtimage(X) [(UIImageVIEw *)self.vIEw setimage:X]
const int NUM_OPTIONS = 4;
int which = 0;
//视图控制器类
@interface TestbedVIEwController : UIVIEwController
@end
//视图控制器类实现
@implementation TestbedVIEwController
//按钮的事件代理方法,
- (voID) action: (ID) sender
{
switch (which)
{
case 0:
// 从互联网URL获取UIImage,并加载到当前窗口
self.Title = @"URL-based image";
SEtimage([ImageHelper imageFromURLString:@"http://imgsrc.baIDu.com/baike/abpic/item/9dc3cf58ab414192810a1836.jpg"]);
break;
case 1:
// 使用当前项目中的资源
self.Title = @"imagenamed:";
SEtimage([UIImage imagenamed:@"BFlyCircle.png"]);
break;
case 2:
// Use the Image Helper version of imagenamed:
self.Title = @"Image Helper";
SEtimage([ImageHelper imagenamed:@"icon.png"]);
break;
case 3:
// 加载文件中的图片
self.Title = @"Contents of file";
SEtimage([UIImage imageWithContentsOffile:[[NSBundle mainBundle] pathForResource:@"cover320x416" ofType:@"png"]]);
break;
default:
break;
}
Nsstring *next = [Nsstring stringWithFormat:@"Example %d",(which = (which + 1) % NUM_OPTIONS) + 1];
self.navigationItem.rightbarbuttonItem = barbutton(next,@selector(action:));
}
//当前窗口加载完成后初始化右上角的按钮 和 事件代理
- (voID) vIEwDIDLoad
{
self.navigationController.navigationbar.tintcolor = COOKBOOK_PURPLE_color;
self.navigationItem.rightbarbuttonItem = barbutton(@"Example 1",@selector(action:));
}
@end
//应用程序代理类
@interface TestbedAppDelegate : NSObject <UIApplicationDelegate>
@end
//应用程序代理类实现
@implementation TestbedAppDelegate
//当程序启动完成创建一个UIWindow,设定一个导航的视图,并开始用户交互
- (voID)applicationDIDFinishLaunching:(UIApplication *)application {
UIWindow *window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UINavigationController *nav = [[UINavigationController alloc] initWithRootVIEwController:[[TestbedVIEwController alloc] init]];
[window addSubvIEw:nav.vIEw];
[window makeKeyAndVisible];
}
@end
//程序入口函数,将当前应用程序的生命周期绑定一个TestbedAppDelegate类的实例
int main(int argc, char *argv[])
{
NSautoreleasePool * pool = [[NSautoreleasePool alloc] init];
int retVal = UIApplicationMain(argc,argv,nil, @"TestbedAppDelegate");
[pool release];
return retVal;
}
---------------------通过以上接口可以看到,加载图片主要使用以下方法
1。加载互联网中的图片
[UIImage imageWithContentsOffile:[[NSBundle mainBundle] pathForResource:@"cover320x416" ofType:@"png"]];
2。加载项目资源图片
[UIImage imagenamed:@"BFlyCircle.png"];
3。加载文件中的图片 //路径获取
[UIImage imageWithContentsOffile:[[NSBundle mainBundle] pathForResource:@"cover320x416" ofType:@"png"]];
总结以上是内存溢出为你收集整理的Ipad开发加载图片的几种方式全部内容,希望文章能够帮你解决Ipad开发加载图片的几种方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)