UIImageView和UIWebView的详细讲解

From : http://www.cnblogs.com/huangdongcheng/archive/2011/11/26/2264163.html


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:[NSURL URLWithString: @"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>
 
  
 
@ interface  ImagesViewController : 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

@implementation ImagesViewController

@synthesize imageView, slider;

- (void)dealloc
{
    [imageView release];
    [slider release];
    
    [super dealloc];
}

- (void)viewDidLoad
{    
    [super viewDidLoad];
    
    self.title = NSLocalizedString(@"ImagesTitle", @"");
    self.imageView.animationImages = [NSArray arrayWithObjects:
     [UIImage imageNamed:@"scene1.jpg"],
     [UIImage imageNamed:@"scene2.jpg"],
     [UIImage imageNamed:@"scene3.jpg"],
     [UIImage imageNamed:@"scene4.jpg"],
     [UIImage imageNamed:@"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.slider setAccessibilityLabel: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 mark UIViewController 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 the UIWebView.
[webView loadRequest:requestObj];
}

 

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

?
- ( void )applicationDidFinishLaunching:(UIApplication *)application {
 
self.wvTutorial = [[WebViewController alloc] initWithNibName:@”WebView” bundle:[NSBundle mainBundle]];
 
[window addSubview:[wvTutorial view]];
 
// Override point for customization after app launch
[window makeKeyAndVisible];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值