UIWebView和UICollectionViewController的使用

本文详细介绍了iOS开发中UIWebView和UICollectionViewController的使用方法。UIWebView用于展示网页和文档,操作简单且能展现丰富内容,但交互性和排版受限。UICollectionViewController则用于复杂的数据展示,通过注册cell和设置布局参数实现灵活的界面布局。
摘要由CSDN通过智能技术生成

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;

转载于:https://www.cnblogs.com/LiLihongqiang/p/5592142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值