import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

// 多行文本控件

let textview = UITextView.init(frame: CGRect.init(x: 10, y: 100, width: 200, height: 100))

textview.layer.borderWidth = 1.0

textview.layer.borderColor = UIColor.gray.cgColor

self.view.addSubview(textview)

textview.text = "http://www.baidu.com"

// 是否可编辑

textview.isEditable = true

// 内容是否可选

textview.isSelectable = true

// 属性 font 设置字体, textColor 设置字体颜色, textAlignment 设置对其方式

// 给文中的电话号码和 网址添加自动连接

// textview.dataDetectorTypes = [] // 都不加连接

// textview.dataDetectorTypes = .phoneNumber // 只有电话连接

// textview.dataDetectorTypes = .link // 只有网址加

textview.dataDetectorTypes = .all  // 电话和网址都加

// 自定义选择内容后的菜单

// 我们在新闻或者小说的时候, 常常在点选文字后弹出菜单进行选择, 复制等操作, 我们可以在这个菜单上添加一些其他内容

let mail = UIMenuItem.init(title: "邮件", action: #selector(onMail))

let weixin2 = UIMenuItem.init(title: "微信", action: #selector(weixin))

let menu = UIMenuController()

menu.menuItems = [mail,weixin2]

}

func onMail(){

print("邮件")

}

func weixin(){

print("微信")

}

override func didReceiveMemoryWarning() {

super.didReceiveMemoryWarning()

// Dispose of any resources that can be recreated.

}

}

swift 实践- 06 -- UITextView的更多相关文章

  1. 使用Bootstrap 3开发响应式网站实践06,使用ListGroup、Thumbnails展示内容

    □ ListGroup展示内容 当希望把同类型的内容以列表.区块展示的时候,ListGroup是不错的选择. <div class="col-sm-6"> <h3 ...

  2. swift 实践- 08 -- UISegmentedControl

    import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoa ...

  3. Swift 学习- 06 -- 控制流

    // 控制流 // swift 提供了多种控制流结构,包括可以多次执行的 while 循环,基于特定条件选择执行不同分支的 if, guard 和 switch 语句,还有控制流程跳转到其它代码位置的 ...

  4. 使用Axure RP原型设计实践06,登录验证

    登录验证主要功能包括: ● 用户名错误,提示无效用户名,用户名和密码文本框清空● 用户名存在,密码错误,提示密码错误,密码清空,焦点进入密码框● 用户名和密码都正确,验证通过 本篇接着"使用 ...

  5. 学习swift从青铜到王者之swift闭包06

    语法表达式 一般形式:{ (parameters) -> returnType in statements } 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定 ...

  6. Swift 实践之UIWebView

    1.选中工程,点击右键,New File>在iOS下选中Othe>Empty,生成一个.js的脚本文件,将代码粘贴过去保存; var script = document.createEle ...

  7. swift笔记06

    for in循环 for 被乘数 in 1...5{ println("\(被乘数) 乘以 5 等于 \( 被乘数 * 5)"); } let  女神们 = ["小林&q ...

  8. swift 实践- 14 -- UIScrollView

    import UIKit class ViewController: UIViewController ,UIScrollViewDelegate{ override func viewDidLoad ...

  9. swift 实践- 13 -- UIStepper

    import UIKit class ViewController: UIViewController { var stepper: UIStepper! var label: UILabel! ov ...

随机推荐

  1. 破解修改 Electron 软件 | 游戏

    Electron 是 Github 发布跨平台桌面应用开发工具,支持 Web 技术开发桌面应用开发,其本身是基于 C++ 开发的,GUI 核心来自于 Chrome,而 JavaScript 引擎使用 ...

  2. hashMap源码分析1--翻译

    * Hash table based implementation of the <tt>Map</tt> interface. This* implementation pr ...

  3. 通过GUI制作一个简单的消息对话框互发消息

    public class LTS extends JFrame { private JPanel contentPane; private JTextField textField; private ...

  4. Debian Security Advisory(Debian安全报告) DSA-4415-1 passenger security update

    Debian Security Advisory(Debian安全报告) DSA-4415-1  passenger security update Package : passenger CVE I ...

  5. 缓存dom查询

    为了提高性能缓存dom查询; 页面效果:

  6. CF961G Partitions

    传送门 luogu 显然每个数的贡献可以一起算感性理解一下,于是答案就是权值总和乘以每个数被算了几次 那个"集合大小为\(|S|\)的集合权值为权值和乘\(|S|\)",可以看成一 ...

  7. python基础(八种数据类型)

    Python的八种数据类型 八种数据类型分别是: number(数字).string(字符串).Boolean(布尔值).None(空值) list(列表).tuple(元组).dict(字典).se ...

  8. SuperDiamond在JAVA项目中的三种应用方法实践总结

    SuperDiamond在JAVA项目中的三种应用方法实践总结 1.直接读取如下: @Test public static void test_simple(){ PropertiesConfigur ...

  9. Django中session的基础了解

    基于cookie做用户验证时:敏感信息不适合放在cookie中 session依赖cookie session原理 cookie是保存在用户浏览器端的键值对 session是保存在服务器端的键值对 s ...

  10. CountDownLatch 闭锁、FutureTask、Semaphore信号量、Barrier栅栏

    同步工具类可以是任何一个对象.阻塞队列可以作为同步工具类,其他类型的同步工具类还包括信号量(Semaphore).栅栏(Barrier).以及闭锁(Latch). 所有的同步工具类都包含一些特定的结构 ...