Swift基础(十七)UITextView
来源:互联网 发布:kate眼影色号选择知乎 编辑:程序博客网 时间:2024/05/29 03:20
class RootViewController: UIViewController, UITextViewDelegate {
var textView: UITextView? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// 创建UITextView 对象
textView = UITextView(frame: CGRectMake(10.0, 120.0, 300.0, 400.0))
textView!.delegate = self
// 为了方便看到效果,设置背景颜色
textView!.backgroundColor = UIColor.grayColor()
// 添加到视图上
self.view.addSubview(textView!)
self .createSubViews(textView!)
}
private func createSubViews(textView: UITextView) {
// 设置textView里面的字体颜色
textView.textColor = UIColor.greenColor()
// 设置文本字体
textView.font = UIFont.systemFontOfSize(18) // 使用系统默认字体,指定18号字号
textView.font = UIFont(name: "Helvetica", size: 18) // 指定字体,指定字号
// 设置背景颜色
textView.backgroundColor = UIColor.grayColor()
// 设置显示内容
textView.text = "爱上了肯德基覅文化大非农破我问哈的覅偶案例看是否帕里是否经常骂跑了分骄傲是碰到了政府 按实际富婆查完了;二十分骄傲我刷屏了奥IP金佛啊手按时交付的每次哦啊跑来玩;是阿双方寂寞去品味IE来得及佛往前爬色积分都暗恋我S怕我了快速二级分工为蓝色见佛牌我拉骚扰或多个安慰朴素减肥颇为了解啥狗屁我拉身份婆IQ礼物案件收人头费顽皮uasjktfpwiawstkpf前排欧文IE通缉犯我饿死了独家"
// 文本对齐方式
textView.textAlignment = .Right
// 文本视图设置圆角
textView.layer.masksToBounds = true
textView.layer.cornerRadius = 20
// 文字不能选择,可以防止用户复制文字
textView.selectable = true
// 返回键的类型
textView.returnKeyType = UIReturnKeyType.Default
// 键盘类型
textView.keyboardType = UIKeyboardType.Default
// 是否可以滚动
textView.scrollEnabled = true
// 自适应高度
textView.autoresizingMask = .FlexibleHeight
// 设置富文本
var attributeString: NSMutableAttributedString = NSMutableAttributedString(string: "暗红色的李开复和你气温U盾上空间划分哪位IE速度快解放和年期为卡洛斯等级划分内切娃开始的计划来烦你安静牛肉丝U盾快捷回复你忘记爱恩还是电脑覅快加我哈是你的覅看见合适的那些奥回复你玩儿啥客户给你发我我按时到今年非文件看后视镜的加菲猫钱偶我问题居然没覅偶二手的价格方面我儿时的u3tj4erosdgjowperjgdowehsj3位我人世间的分工为如今为收件人【我二姐说都干么的")
// 设置字体颜色
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.greenColor(), range: NSMakeRange(0, attributeString.length))
// 文本所有字符字体HelveticaNeue,16号
attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue", size: 16)!, range: NSMakeRange(0, attributeString.length))
// 文本0开始5个字符字体HelveticaNeue,26号字体
attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue", size: 26)!, range: NSMakeRange(0, 5))
// 设置字体颜色
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.whiteColor(), range: NSMakeRange(0, 3))
// 设置文字背景颜色
attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.orangeColor(), range: NSMakeRange(3, 3))
// 赋值富文本
textView.attributedText = attributeString
// 选中一段文本
textView.becomeFirstResponder()
textView.selectedRange = NSMakeRange(30, 10)
// 获取内容整体高度
var height: CGFloat = textView.contentSize.height
// 定义文本视图中的菜单
let menuItem1: UIMenuItem = UIMenuItem(title: "分享到微信", action: "shareWXMenu:")
let menuItem2: UIMenuItem = UIMenuItem(title: "分享到微博", action: "shareWBMenu:")
// 获取菜单控制器
let menuController: UIMenuController = UIMenuController.sharedMenuController()
menuController.menuItems = [menuItem1, menuItem2]
// 使用selectedRange属性可以获取当前文字选择的范文
let range = textView.selectedRange
// 可以使用scrollRangeToVisible属性指定光标的位置
textView.scrollRangeToVisible(NSMakeRange(0, 60))
}
override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
// 判断有没有选中文字
// 如果选中,输出选中的文本
let isSelect: Bool = textView!.selectedRange.length > 0
if (action == "shareWXMenu:" && isSelect) {
return true
} else if (action == "shareWBMenu:" && isSelect) {
return true
}
return false // 不显示系统的菜单,改成true对比一下效果
}
// 实现菜单按钮事件
// 分享到微信
func shareWXMenu(sender: AnyObject?) {
if textView?.selectedRange.length > 0 {
print(((textView?.text)! as NSString).substringWithRange(textView!.selectedRange))
}
print("这里实现分享到微信功能")
}
// 分享到微博
func shareWBMenu() {
print("这里实现分享到微博功能")
}
// 如果想在textView里不用回车键,可以把回车键当做退出键的相应键
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
// 文本视图内容改变时,触发本方法,能得到改变的坐标和改变的内容
// 如果是回车符号,则textView释放第一响应值,返回false
if (text == "\n") {
textView.resignFirstResponder()
return false
}
return true
}
}
var textView: UITextView? = nil
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// 创建UITextView 对象
textView = UITextView(frame: CGRectMake(10.0, 120.0, 300.0, 400.0))
textView!.delegate = self
// 为了方便看到效果,设置背景颜色
textView!.backgroundColor = UIColor.grayColor()
// 添加到视图上
self.view.addSubview(textView!)
self .createSubViews(textView!)
}
private func createSubViews(textView: UITextView) {
// 设置textView里面的字体颜色
textView.textColor = UIColor.greenColor()
// 设置文本字体
textView.font = UIFont.systemFontOfSize(18) // 使用系统默认字体,指定18号字号
textView.font = UIFont(name: "Helvetica", size: 18) // 指定字体,指定字号
// 设置背景颜色
textView.backgroundColor = UIColor.grayColor()
// 设置显示内容
textView.text = "爱上了肯德基覅文化大非农破我问哈的覅偶案例看是否帕里是否经常骂跑了分骄傲是碰到了政府 按实际富婆查完了;二十分骄傲我刷屏了奥IP金佛啊手按时交付的每次哦啊跑来玩;是阿双方寂寞去品味IE来得及佛往前爬色积分都暗恋我S怕我了快速二级分工为蓝色见佛牌我拉骚扰或多个安慰朴素减肥颇为了解啥狗屁我拉身份婆IQ礼物案件收人头费顽皮uasjktfpwiawstkpf前排欧文IE通缉犯我饿死了独家"
// 文本对齐方式
textView.textAlignment = .Right
// 文本视图设置圆角
textView.layer.masksToBounds = true
textView.layer.cornerRadius = 20
// 文字不能选择,可以防止用户复制文字
textView.selectable = true
// 返回键的类型
textView.returnKeyType = UIReturnKeyType.Default
// 键盘类型
textView.keyboardType = UIKeyboardType.Default
// 是否可以滚动
textView.scrollEnabled = true
// 自适应高度
textView.autoresizingMask = .FlexibleHeight
// 设置富文本
var attributeString: NSMutableAttributedString = NSMutableAttributedString(string: "暗红色的李开复和你气温U盾上空间划分哪位IE速度快解放和年期为卡洛斯等级划分内切娃开始的计划来烦你安静牛肉丝U盾快捷回复你忘记爱恩还是电脑覅快加我哈是你的覅看见合适的那些奥回复你玩儿啥客户给你发我我按时到今年非文件看后视镜的加菲猫钱偶我问题居然没覅偶二手的价格方面我儿时的u3tj4erosdgjowperjgdowehsj3位我人世间的分工为如今为收件人【我二姐说都干么的")
// 设置字体颜色
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.greenColor(), range: NSMakeRange(0, attributeString.length))
// 文本所有字符字体HelveticaNeue,16号
attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue", size: 16)!, range: NSMakeRange(0, attributeString.length))
// 文本0开始5个字符字体HelveticaNeue,26号字体
attributeString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue", size: 26)!, range: NSMakeRange(0, 5))
// 设置字体颜色
attributeString.addAttribute(NSForegroundColorAttributeName, value: UIColor.whiteColor(), range: NSMakeRange(0, 3))
// 设置文字背景颜色
attributeString.addAttribute(NSBackgroundColorAttributeName, value: UIColor.orangeColor(), range: NSMakeRange(3, 3))
// 赋值富文本
textView.attributedText = attributeString
// 选中一段文本
textView.becomeFirstResponder()
textView.selectedRange = NSMakeRange(30, 10)
// 获取内容整体高度
var height: CGFloat = textView.contentSize.height
// 定义文本视图中的菜单
let menuItem1: UIMenuItem = UIMenuItem(title: "分享到微信", action: "shareWXMenu:")
let menuItem2: UIMenuItem = UIMenuItem(title: "分享到微博", action: "shareWBMenu:")
// 获取菜单控制器
let menuController: UIMenuController = UIMenuController.sharedMenuController()
menuController.menuItems = [menuItem1, menuItem2]
// 使用selectedRange属性可以获取当前文字选择的范文
let range = textView.selectedRange
// 可以使用scrollRangeToVisible属性指定光标的位置
textView.scrollRangeToVisible(NSMakeRange(0, 60))
}
override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
// 判断有没有选中文字
// 如果选中,输出选中的文本
let isSelect: Bool = textView!.selectedRange.length > 0
if (action == "shareWXMenu:" && isSelect) {
return true
} else if (action == "shareWBMenu:" && isSelect) {
return true
}
return false // 不显示系统的菜单,改成true对比一下效果
}
// 实现菜单按钮事件
// 分享到微信
func shareWXMenu(sender: AnyObject?) {
if textView?.selectedRange.length > 0 {
print(((textView?.text)! as NSString).substringWithRange(textView!.selectedRange))
}
print("这里实现分享到微信功能")
}
// 分享到微博
func shareWBMenu() {
print("这里实现分享到微博功能")
}
// 如果想在textView里不用回车键,可以把回车键当做退出键的相应键
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
// 文本视图内容改变时,触发本方法,能得到改变的坐标和改变的内容
// 如果是回车符号,则textView释放第一响应值,返回false
if (text == "\n") {
textView.resignFirstResponder()
return false
}
return true
}
}
0 0
- Swift基础(十七)UITextView
- Swift基础(二十七)UIDatePicker
- swift UITextView
- UITextField,UITextView字数限制(swift)
- swift基础篇:iOS控件大拌菜:UILable UIButton UITextView
- Swift学习这十七:重载(override)
- 初始化—Swift学习笔记(十七)
- swift学习-可选链(十七)
- Swift中文教程(十七) 可选链
- Swift学习这十七:重载(override)
- swift学习之路(十七)协议
- UITextView添加Placeholder(swift)
- iOS UITextView(swift语言)
- 安卓基础(十七)
- Swift - 多行文本输入框(UITextView)的用法
- Swift 扩展(十七)
- Swift(十七、可选链)
- Swift UITextField,UITextView,UISegmentedControl,UISwitch
- hadoop怎么安装配置
- map的详细用法
- 关于整型和浮点型的输出问题
- 2015北京现场赛UVALive 7263 Today Is a Rainy Day 【bfs】
- 三个和尚的故事
- Swift基础(十七)UITextView
- cocos2d - JS Rect 相关
- 【缓存技术原理】浏览器端缓存机制详解
- 关于actionMode 6.0适配问题
- Hadoop:启动与停止命令
- 无人机领域小神器,P440超宽带射频模块表现这么给力
- Android EditText 取消输入框弹出
- jdbc连接MySQL数据库
- 【转】移动端轮播插件,zepto轮播插件