UIWebebView播放视频
来源:互联网 发布:网络组件设备方案 编辑:程序博客网 时间:2024/05/16 23:39
1.创建一个GIF的文件路径,用来读取你添加的GIF文件。
Objective-C:
1
2
3
NSString *filePath = [[NSBundle mainBundle] pathForResource:@”railway” ofType:@”gif”];
NSData *gif = [NSData dataWithContentsOfFile:filePath];
2. 创建一个UIWebView并且把GIF转换成的NSData形式作为它的数据源。由于需要把它作为背景,因此frame尺寸应该根据iPhone的屏幕尺寸设定。同时,UIWebView类似于scrollview,你需要设置它的userInteractionEnabled属性设为NO。然后把UIWebView添加到主视图上去。
Objective-C:
1
2
3
4
5
6
7
UIWebView *webViewBG = [[UIWebView alloc] initWithFrame:self.view.frame];
[webViewBG loadData:gif MIMEType:@”image/gif” textEncodingName:nil baseURL:nil];
webViewBG.userInteractionEnabled = NO;
[self.view addSubview:webViewBG];
3.可选:我还需要添加其他按钮到背景上,因此我使用了另一个黑色的过滤视图,alpha值设为0.05,覆盖到UIWebView上。这样可以淡出背景视图,同时让按钮和按钮的标题更突出。
Objective-C:
1
2
3
4
5
6
7
UIView *filter = [[UIView?alloc] initWithFrame:self.view.frame];
filter.backgroundColor = [UIColor?blackColor];
filter.alpha = 0.05;
[self.view addSubview:filter];
- (void)viewDidLoad {
[super viewDidLoad];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"雨中荷花" ofType:@"gif"];
NSData *gif = [NSData dataWithContentsOfFile:filePath];
[self.webView loadData:gif MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
self.webView.userInteractionEnabled = NO;
[self.view bringSubviewToFront:self.login];
[self.view bringSubviewToFront:self.regis];
}
本文是一个webView内存管理的trick,可以直接拿来用。
由于UIWebView的内容加载不受程序员直接控制,所以在UIWebView加载一些图片较多的网页时,如果图片较多,很容易就在网页读取阶段出现 memory warning,而且当你把webview对象干掉时,内存依然不减。如果不处理的话,程序就会被kill掉。如何处理呢,下面是几个tip可以让君尝试:
1、在每一次UIWebView读取页面结束后(Delegate),调用UserDefault关闭缓存。代码:
- (void)webViewDidFinishLoad:(UIWebView *)webView { [[NSUserDefaults standardUserDefaults] setInteger:0 forKey:@"WebKitCacheModelPreferenceKey"]; }
注意,不必担心这个WebKitCacheModelPreferenceKey会一直保持为0。因为每一次UIWebView加载页面的时候,都会把此值设置为1。
2、在离开webview的controller时,使用WebView加载nil的URL,并清理webview。
-(void)viewDidDisappear:(BOOL)animated { [super viewDidDisappear:animated]; [self.webView loadRequest:nil]; [self.webView removeFromSuperview]; self.webView = nil; self.webView.delegate = nil; [self.webView stopLoading]; }
3、在收到系统警告的时候,清理NSURLCache的CachedResponse。
-(void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; [self.navigationController setNavigationBarHidden:NO]; }
trick结束:)。
- UIWebebView播放视频
- 视频播放
- 视频播放
- 播放视频
- 视频播放
- 播放视频
- 播放视频
- 播放视频
- 播放视频
- 播放视频
- 视频播放
- 视频播放
- 播放视频
- 视频播放
- 视频播放
- 播放视频
- 视频播放
- 视频播放
- 用简单工厂来创建对象和用new创建对象相比好处有哪些
- Linux:进程间通信
- Jmeter教程 简单的压力测试
- UIWebView 背景透明
- matlab找到图像的最大连通区域
- UIWebebView播放视频
- art emacs dired模式复制文件名
- LeetCode_rotate-image
- 博客已迁移到www.3ch0.cn
- MSM平台RPM
- STM32 DMA buffersize理解
- 条形码类型及常见条形码介绍
- Android 动画
- leetcode---Missing Number---位