iPhone應用開發之四:UIImageView和UIWebView的詳細講解

來源:互聯網
上載者:User

 

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的利用,這兩個都是比較有用的,在以後的開發中布局會經常用到,最後,謝謝大家支援。歡迎大家拍磚。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.