有些情况下,应用中会使用webView来加载大段的文字,而且还是带各种标签的。

不能全部过滤掉,那样的话,内容就会失去原本想表达的格式。

可是,如果webView中并没有将内容的标题或其他杂项包含进那一大段内容,而是单独的存放在字典的另一个字段中,而且此时是不带任何标签的纯文本。

而且最终的页面又需要同时显示这些内容,这样的境地就比较尴尬了。

接下来这种方案可以缓解这种尴尬:

首先介绍一下实现思路:scrollView加在self.view上沾满屏幕,scrollView的顶部留出一段空白用于放标题等内容,下面用webView占满剩下的区域,用于加载大段文字。这样一来就可以定制属于自己的webView的标题了。

可是问题来了,webView本身是可以滑动的,同时scrollView也是可以滑动的,于是就会出现下面这种情况:滑动webView时标题部分不动,webView滑动到底,标题视图才可以滑动,这就给人很不舒服的感觉。

怎么样才可以让标题跟着webView一起滑动呢?那就是将webView.scrollView.scrollEnable设置为false,不让webView滑动,这样的话,就可以解决上一个问题了。

不过,坑是一个接着一个,如果这样设置,问题是webView以及scrollView.contentSize怎么设置呢?不要急,这个问题可以参考“swift 如何获取webView的内容高度

好了,为了让自己的webView标题花样百出,这些准备可以让你专心于你的标题设计了。

Swift 为你的webView定制标题的更多相关文章

  1. Swift - 获取、改变按钮的标题文本(UIButton点击切换title)

    在开发中,我们常常需要动态地改变按钮标签文字,使用 setTitle() 函数就可以了.有时我们需要在几个标题间切换,比如下面样例所示,按钮点击后按钮文字会在"播放""暂 ...

  2. Swift重写UIButton的图片和标题的位置

    import UIKit class ResetBtn: UIButton { let IMAGE_RATIO :CGFloat = 0.7 // 图片占整个按钮高度的比例 let TITLE_FON ...

  3. swift中Cell的内容定制

    1.cellForTitle 2.register

  4. webview之如何设计一个优雅健壮的Android WebView?(下)(转)

    转载:https://iluhcm.com/2018/02/27/design-an-elegant-and-powerful-android-webview-part-two/ (这篇文章写得有点晚 ...

  5. 如何设计一个优雅健壮的Android WebView?(下)

    转:如何设计一个优雅健壮的Android WebView?(下) 前言 在上文<如何设计一个优雅健壮的Android WebView?(上)>中,笔者分析了国内WebView的现状,以及在 ...

  6. WebView解析

    WebView解析   WebView是一个基于Webkit的,相当于内置浏览器的强大功能的组件,WebView的使用这么分四步说明:添加组件,加载资源,属性设置,辅助功能. 一.WebView的添加 ...

  7. Swift:一个基于.NET Core的分布式批处理框架

    Swift是什么 从文章的标题可知:此Swift非Apple那个Swift,只是考虑这个词的含义比较适合. Swift是一个基于.NET Core的分布式批处理框架,支持将作业分割后分发到多台服务器并 ...

  8. 001 - 使用鸿蒙WebView创建简单浏览器 step 1

    打开官网,找到WebView的文档(模拟器不支持) 鸿蒙webview的开发指南(原始链接,方便大家识别并点击):https://developer.harmonyos.com/cn/docs/doc ...

  9. ios项目里扒出来的json文件

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

随机推荐

  1. [入门]bower安装和使用

    bower安装和使用 字数745 阅读10127 评论2 喜欢3 bower的安装 1,首先在我的系统 安装 nodejs.因为我的系统是windows,还需要安装msysgit,注意图二中的选项 m ...

  2. 随笔 高质量 C++/C 编程指南

    内存分配方式有三种:) 从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量, static 变量.) 在栈上创建.在执行函数时,函数内局部变量的存储 ...

  3. git 新建项目

    备份. 1.cd dirctory 2.git init 3.git.oschina.net 上新建项目. 4.git remote add origin XXX.git 5.git push ...

  4. sql查询当前月内的所有日期

    ),),)) as dt from master..spt_values where type='P' ),),),,)')

  5. 一些代码 II (ConfigParser、创建大文件的技巧、__getattr__和__getattribute__、docstring和装饰器、抽象方法)

    1. ConfigParser format.conf [DEFAULT] conn_str = %(dbn)s://%(user)s:%(pw)s@%(host)s:%(port)s/%(db)s ...

  6. [DFNews] 入侵汽车控制刹车和油门?——速度与激情6 的节奏?

    原文跳转: http://arstechnica.com/security/2013/07/disabling-a-cars-brakes-and-speed-by-hacking-its-compu ...

  7. day8-多进程和多线程

    Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. import threading import time def sayhi(num): #定义每个线程要 ...

  8. HEAP CORRUPTION 错误

    一般是new一块内存过小,  在这个内存块上写入的内容过大, delete时出现的错误; 如: char* ptr = new char[2]; //申请了两个字节 *ptr = "1234 ...

  9. ajax跨域请求带cookie

    调用网站:a.xxx.com jQuery(document).ready(function () { $.ajax({ type: "get", async: true, url ...

  10. delphi action学习

    procedure TEditAction.UpdateTarget(Target: TObject); begin if (Self is TEditCut) then Enabled := (Ge ...