zoukankan      html  css  js  c++  java
  • UIWebView和UICollectionViewController的使用

    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;
  • 相关阅读:
    UVA1401 Remember the word DP+Trie
    LG5202 「USACO2019JAN」Redistricting 动态规划+堆/单调队列优化
    模拟赛总结合集
    LG5201 「USACO2019JAN」Shortcut 最短路树
    LG5200 「USACO2019JAN」Sleepy Cow Sorting 树状数组
    LG5196 「USACO2019JAN」Cow Poetry 背包+乘法原理
    20190922 「HZOJ NOIP2019 Round #7」20190922模拟
    LG2530 「SHOI2001」化工厂装箱员 高维DP+记忆化搜索
    LG2893/POJ3666 「USACO2008FEB」Making the Grade 线性DP+决策集优化
    关于对QQ 输入法的评价
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5592142.html
Copyright © 2011-2022 走看看