[IOS]UIWebView的使用

2024-08-20 23:38
文章标签 使用 ios uiwebview

本文主要是介绍[IOS]UIWebView的使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

[IOS]UIWebView的使用

Demo:http://download.csdn.net/detail/u012881779/8663319

功能包括“返回上页”“在safari打开”“网页刷新”

#import "ViewController.h"
#define  INNERURL @"http://www.ljcd.gov.cn"@interface ViewController ()< UIWebViewDelegate >@property (weak, nonatomic) IBOutlet UIView       *titleView;       //标题栏
@property (weak, nonatomic) IBOutlet UIWebView    *cleanWebView;    //WebView
@property (weak, nonatomic) IBOutlet UIView       *cleanTitleView;  //标题栏
@property (weak, nonatomic) IBOutlet UIView       *returnCancelView;//返回、删除栏
@property (weak, nonatomic) IBOutlet UIScrollView *functionSV;      //功能栏
@property (weak, nonatomic) IBOutlet UIButton     *functionBut;     //功能控件
@property (weak, nonatomic) IBOutlet UIView       *backView;        //玻璃纸
@property (strong, nonatomic) NSString* mURL;   //外部url
@property (nonatomic) BOOL isSafari;            //是否使用Safari打开@end@implementation ViewController
@synthesize isSafari = _isSafari;-(void)viewDidDisappear:(BOOL)animated{[_cleanWebView loadHTMLString:@"" baseURL:nil];[_cleanWebView stopLoading];[_cleanWebView setDelegate:nil];[[NSURLCache sharedURLCache] removeAllCachedResponses];}- (void)viewDidLoad{[super viewDidLoad];_cleanWebView.delegate = self;_isSafari = NO;[_cleanTitleView setHidden:NO];[_returnCancelView setHidden:YES];//webView[self cleanChengDu];
}//webView
-(void)cleanChengDu{NSURL *url =[NSURL URLWithString:INNERURL];NSURLRequest *request =[NSURLRequest requestWithURL:url];[_cleanWebView loadRequest:request];[_cleanWebView setScalesPageToFit:YES];
}- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{//点击链接if(navigationType == UIWebViewNavigationTypeLinkClicked){[_cleanTitleView setHidden:YES];[_returnCancelView setHidden:NO];//返回}else if(navigationType == UIWebViewNavigationTypeBackForward){//不能继续返回if(![_cleanWebView canGoBack]){[_cleanTitleView setHidden:NO];[_returnCancelView setHidden:YES];}}//是否使用safari打开if(_isSafari){_isSafari = NO;NSURL *requestURL = [ request URL ];if ( [ [ requestURL scheme ] isEqualToString: @"http" ] || [ [ requestURL scheme ] isEqualToString: @"https" ] || [ [ requestURL scheme ] isEqualToString: @"mailto" ]) {return ![ [ UIApplication sharedApplication ] openURL: requestURL];}}return YES;
}//返回
- (IBAction)returnAction:(id)sender {[_cleanWebView goBack];
}//结束
- (IBAction)stopAction:(id)sender {[_cleanTitleView setHidden:NO];[_returnCancelView setHidden:YES];[self cleanChengDu];
}//功能
- (IBAction)functionAction:(id)sender {UIButton *tempBut = (UIButton *)sender;if(tempBut.isSelected){tempBut.selected = NO;//玻璃纸[_backView setAlpha:0];[_backView setHidden:NO];//功能栏CGRect startRect = _functionSV.frame;startRect.size.height = 0;[_functionSV setFrame:startRect];[_functionSV setHidden:NO];CGRect stopRect = _functionSV.frame;stopRect.size.height = 156;[UIView animateWithDuration:0.3 animations:^{[_functionSV setFrame:stopRect];[_backView setAlpha:0.3];} completion:^(BOOL finished){}];}else{tempBut.selected = YES;CGRect startRect = _functionSV.frame;startRect.size.height = 0;[UIView animateWithDuration:0.3 animations:^{[_functionSV setFrame:startRect];[_backView setAlpha:0];} completion:^(BOOL finished){[_functionSV setHidden:YES];[_backView setHidden:YES];}];}
}//刷新
- (IBAction)refreshAction:(id)sender {//重新加载[_cleanWebView reload];[self cancelAction:nil];
}//在safari打开
- (IBAction)safariAction:(id)sender {_isSafari = YES;[self cancelAction:nil];//刷新[self refreshAction:nil];
}//取消
- (IBAction)cancelAction:(id)sender {_functionBut.selected = NO;[self functionAction:_functionBut];
}//判断字符串不全为空
- (BOOL)judgeStringIsNull:(NSString *)string{BOOL result = NO;if(string != nil && string.length > 0){for (int i = 0; i < string.length; i ++) {NSString *subStr = [string substringWithRange:NSMakeRange(i, 1)];if(![subStr isEqualToString:@" "] && ![subStr isEqualToString:@""]){result = YES;}}}return result;
}@end
示图:






这篇关于[IOS]UIWebView的使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091502

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Python WebSockets 库从基础到实战使用举例

《PythonWebSockets库从基础到实战使用举例》WebSocket是一种全双工、持久化的网络通信协议,适用于需要低延迟的应用,如实时聊天、股票行情推送、在线协作、多人游戏等,本文给大家介... 目录1. 引言2. 为什么使用 WebSocket?3. 安装 WebSockets 库4. 使用 We

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

使用Java读取本地文件并转换为MultipartFile对象的方法

《使用Java读取本地文件并转换为MultipartFile对象的方法》在许多JavaWeb应用中,我们经常会遇到将本地文件上传至服务器或其他系统的需求,在这种场景下,MultipartFile对象非... 目录1. 基本需求2. 自定义 MultipartFile 类3. 实现代码4. 代码解析5. 自定

使用Python实现无损放大图片功能

《使用Python实现无损放大图片功能》本文介绍了如何使用Python的Pillow库进行无损图片放大,区分了JPEG和PNG格式在放大过程中的特点,并给出了示例代码,JPEG格式可能受压缩影响,需先... 目录一、什么是无损放大?二、实现方法步骤1:读取图片步骤2:无损放大图片步骤3:保存图片三、示php

使用Python实现一个简易计算器的新手指南

《使用Python实现一个简易计算器的新手指南》计算器是编程入门的经典项目,它涵盖了变量、输入输出、条件判断等核心编程概念,通过这个小项目,可以快速掌握Python的基础语法,并为后续更复杂的项目打下... 目录准备工作基础概念解析分步实现计算器第一步:获取用户输入第二步:实现基本运算第三步:显示计算结果进

python之uv使用详解

《python之uv使用详解》文章介绍uv在Ubuntu上用于Python项目管理,涵盖安装、初始化、依赖管理、运行调试及Docker应用,强调CI中使用--locked确保依赖一致性... 目录安装与更新standalonepip 安装创建php以及初始化项目依赖管理uv run直接在命令行运行pytho

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅