当前位置:编程学习 > wap >>

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 =UIStatusBarStyleDe

补充:移动开发 , IOS ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,