【iphone应用开发】iPhone应用开发之四:UIImageView和UIWebView的详细讲解

Andy-清风原创,转载请注明,谢谢。

1.UIImageView的讲解

(1)初始化

UIImageView *imageView =[[UIImageView alloc] initWithFrame:CGRectMake(0.0,45.0,300,300)]; imageView.image = [UIImage imageNamed:@"a.png"];//加载入图片 [self.view addSubView:image];

也可以这样声明:

UIImage *image =[[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURLURLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image];

在加载入图片的时候有两种加载UIImage的方法:如下:

-》1

[UIImage imageNamed:@"a.png"];

-》2

NSString *path = [[NSBundle mainBundle] pathForResource:@”icon” ofType:@”png”]; myImage = [UIImage imageWithContentsOfFile:path];

如果找到图片,装载到iPhone系统缓存图象。那意味图片是(理论上)放在内存里作为cache的。因此如果图片资源多了或大了,此方式容易引起发生内存警告从而导致自动退出的问题。

最好是通过直接读取文件路径[UIImage imageWithContentsOfFile]解决掉这个问题.

NSImage *image = [[NSImage alloc]initWithContentsOfURL:(NSURL *)]; NSImage *image = [[NSImage alloc]initWithContentsOfFile:(NSString *)];

最后要记得释放掉image。

(2)利用UIImageView实现幻灯片效果

利用UIImageView和UISider来制作幻灯片。

ImagesViewController.h #import<UIKit/UIKit.h> @interfaceImagesViewController : UIViewController { UIImageView *imageView; UISlider *slider; } @property (nonatomic,retain) IBOutlet UIImageView *imageView; @property (nonatomic,retain) IBOutlet UISlider *slider; -(IBAction)sliderAction:(id)sender; @end ImagesViewController.m #import"ImagesViewController.h" #import"Constants.h" #define kMinDuration 0.0 #define kMaxDuration 10.0 @implementationImagesViewController @synthesize imageView,slider; - (void)dealloc { [imageView release]; [slider release]; [super dealloc]; } - (void)viewDidLoad { [super viewDidLoad]; self.title = NSLocalizedString(@"ImagesTitle",@""); self.imageView.animationImages = [NSArray arrayWithObjects: [UIImageimageNamed:@"scene1.jpg"], [UIImageimageNamed:@"scene2.jpg"], [UIImageimageNamed:@"scene3.jpg"], [UIImageimageNamed:@"scene4.jpg"], [UIImageimageNamed:@"scene5.jpg"],nil]; imageView.animationDuration = 5.0; [self.imageView stopAnimating]; imageView.image= [UIImage imageNamed:@"a.png"]; [self.imageView setIsAccessibilityElement:YES]; [self.imageView setAccessibilityLabel:self.title]; [self.slidersetAccessibilityLabel:NSLocalizedString(@"DurationSlider",@"")]; } - (void)viewDidUnload { [super viewDidUnload]; self.imageView = nil; self.slider = nil; } -(IBAction)sliderAction:(id)sender { UISlider* durationSlider = sender; self.imageView.animationDuration = [durationSlider value]; if (!self.imageView.isAnimating) [self.imageView startAnimating]; } #pragma mark - #pragma markUIViewController delegate methods -(void)viewWillDisappear:(BOOL)animated { [self.imageView stopAnimating]; self.navigationController.navigationBar.barStyle =UIBarStyleDefault; [UIApplication sharedApplication].statusBarStyle =UIStatusBarStyleDefault; } -(void)viewWillAppear:(BOOL)animated { [self.imageView startAnimating]; self.navigationController.navigationBar.barStyle =UIBarStyleBlackOpaque; [UIApplication sharedApplication].statusBarStyle =UIStatusBarStyleBlackOpaque; } @end


首先通过加载多张图片进入imageView的animationImages里面。再设置动画的时间间隔animationDuration,并设置UISider控制幻灯片播放的速度,让图片像幻灯片那么播放。

2.UIWebView的讲解

(1)初始化

在.h文件中声明UIWebView。

@interface WebViewController :UIViewController { IBOutlet UIWebView *webView; } @property (nonatomic,retain) UIWebView *webView; @end

在.m文件中初始化UIWebView并载入要读取的URL,如下:

- (void)viewDidLoad { NSString *urlAddress =@”http://www.google.com”; //Create a URL object. NSURL *url = [NSURL URLWithString:urlAddress]; //URL Requst Object NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; //Load the request in theUIWebView. [webView loadRequest:requestObj]; }

并在你的delegate里面载入跟IB一起的XIB文件,如下:

-(void)applicationDidFinishLaunching:(UIApplication *)application { self.wvTutorial =[[WebViewController alloc] initWithNibName:@”WebView” bundle:[NSBundlemainBundle]]; [windowaddSubview:[wvTutorial view]]; // Override point forcustomization after app launch [window makeKeyAndVisible]; }

今天就讲UIImageView和UIWebView的利用,这两个都是比较有用的,在以后的开发中布局会经常用到,最后,谢谢大家支持。欢迎大家拍砖。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值