文档章节

UIWebView和UICollectionViewController

傲风凌寒
 傲风凌寒
发布于 2014/06/02 17:46
字数 540
阅读 430
收藏 0

UIWebView和UICollectionViewController的使用

UIWebView

    UIWebView是iOS内置的浏览器的控件, 可以浏览网页, 打开文档等 .系统自带的Safari浏览器就是通过UIWebView实现的, 能够加载html/htm, pdf, docx, txt等格式的文件.

    在iOS7之前, UILabel, UITextFiled 以及 UITextView 都在后台以某种方式使用 WebKit来进行文本布局和渲染.

    渲染 : 是CG的最后一道工序, 将所设计内容制作成最终效果图或者动画的过程 .

UIWebView的使用

    1> 确定要访问的资源

NSURL *url = [NSURL URLWithString : @"http://www.baidu.com"];

    2> 建立网络请求

NSURLRequest *request = [NSURLRequest requestWithURL :url];

    3> UIWebView加载网络请求

[self.webView loadRequest : request];

UIWebView - 实现百度搜索

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
    NSString *str = searchBar.text;
    
    // 1. 判断是否以http开头,如果没有则用百度搜索
    if (![str hasPrefix:@"http://"]) {
        str = [NSString stringWithFormat:@"http://m.baidu.com/s?word=%@", str];
    }
    
    // 2. 在URL中,如果包含中文字符串,需要将字符串转换为带百分号的格式
    NSURL *url = [NSURL URLWithString:[str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
}

UIWebView - 前进后退

#pragma mark - UIWebView代理方法
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    self.goBackButton.enabled = self.webView.canGoBack;
    self.goForwardButton.enabled = self.webView.canGoForward;
}

UIWebView优缺点:

优点:

    1> 使用简单 ; NSURL确定要访问的网络资源, NSURLRequest建立网络请求;

    2> 能够方便的展现丰富的页面内容 ;

    3> 在开发中, 通常遇到不方便排版的内容, 会考虑选择UIWebView .

缺点: 

    1> 以HTML为基础的页面方式, 交互相对单一, 局限性大 ;

    2> 编辑排版HTML页面同样需要花费人力.

UICollectionViewController的使用

    1> 注册cell(告诉collectionView将来创建怎样的cell) .

[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"product"];

    2> 从缓存池中取出cell

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
  UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"product" forIndexPath:indexPath];
    return cell;
}

    3> 重写init方法, 创建布局参数

-(id)init
{
    // 1.流水布局
      UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
    // 2.每个cell的尺寸
      layout.itemSize = CGSizeMake(100, 100);
    return [super initWithCollectionViewLayout:layout];
}

UICollectionViewFlowLayout

    UICollectionViewFlowLayout 称为 "流水布局", 用来约束cell的显示 ;

常见属性:

// cell的尺寸 
@property (nonatomic) CGSize itemSize;
// cell之间的水平间距 
@property (nonatomic) CGFloat minimumInteritemSpacing;
// cell之间的垂直间距 
@property (nonatomic) CGFloat minimumLineSpacing;
// 四周的内边距 
@property (nonatomic) UIEdgeInsets sectionInset;

© 著作权归作者所有

上一篇: 面试心得
下一篇: GET&POST
傲风凌寒
粉丝 73
博文 36
码字总数 40046
作品 0
丰台
程序员
私信 提问
SlackTextViewController

SlackTextViewController 是嵌入式 UIViewController 子类,带有可增长的文本输入视图,还有其他有用的信息传递功能。SlackTextViewController 可以替代 UITableViewController & UICollecti...

叶秀兰
2014/09/27
816
0
collectionView控制器 view cell 的关系

UICollectionViewController中有collectionView;而collectionView有UICollectionViewCell; 因此UITableViewController会有collectionView 和collectionViewCell,控制器默认已经遵守数据源和......

奋斗的青春年华
2016/08/23
16
0
疯狂ios讲义之网页控件(UIWebView)

通过使用UIWebView控件,可以实现一个内置的浏览器(类似于Safari),而且可以直接将这个浏览器内嵌到应用的任意位置,因此非常方便。 UIWebView直接继承了UIView基类,一般不可以与用户交互...

博文视点
2014/01/26
2K
0
继承UICollectionViewController

一 继承UICollectionViewController 1.StoryBoard创建 2.纯代码创建 (1)(init初始化)(重写init或者重写loadView) (2)- (instancetype)initWithCollectionViewLayout:(UICollectionViewLay......

DavidHacker
2016/08/26
12
0
UIWebView网页视图—IOS开发

UIWebView可以让你创建一个网页浏览器,类似safari,而不是在程序中启动safsri哦。是不是觉得很棒呢?废话少说,切入正题。 一、创建UIWebView 二、设置属性 三、显示网页视图UIWebView 四、...

junwong
2012/03/05
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot 操作ActiveMQ

一、消息队列中间件介绍 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题,实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的...

zw965
26分钟前
4
0
本地化存储Storage

为什么会引入Storage(sessionStorage,localStorage,globalStorage) Web storage的目的是克服由cookie带来的限制,当数据需要严格控制在客户端上时,无须持续将数据发回服务器。主要是提供一...

五公里
34分钟前
8
0
Qt编写自定义控件57-直方波形图

一、前言 直方波形图控件非原创控件,控件大全中大概有20-30个控件非自己原创,而是参考了网上开源的代码,自己加以整理和完善,新增了插件的代码使得可以直接集成到QtDesigner或者QtCreator...

飞扬青云
34分钟前
4
0
或许你不知道的10条SQL技巧

这几天在写索引,想到一些有意思的TIPS,希望大家有收获。 一、一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不...

mskk
41分钟前
7
0
IntelliJ IDEA (Mac) 运行速度优化(JVM+localhost)

1.1. JVM 参数配置 打开 idea,菜单 –> help –> edit custom vm options,调整参数,重启即可。 具体调整参数: -Xms2g -Xmx2g -XX:ReservedCodeCacheSize=1024m -XX:+UseCompressedOops 1......

指尖Coding
49分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部