Swift - 多行文本输入框(UITextView)的用法
(本文代码已升级至Swift4)
1,多行文本控件的创建
2,是否可编辑
3,内容是否可选
4,属性font设置字体,textColor设置字体颜色,textAlignment设置对齐方式
1,多行文本控件的创建
let textview = UITextView(frame:CGRect(x:10, y:100, width:200, height:100)) textview.layer.borderWidth = 1 //边框粗细 textview.layer.borderColor = UIColor.gray.cgColor //边框颜色 self.view.addSubview(textview)
textview.isEditable = false
textview.isSelectable = false
5,给文字中的电话号码和网址自动加链接
6,自定义选择内容后的菜单
textview.dataDetectorTypes = [] //都不加链接 textview.dataDetectorTypes = UIDataDetectorTypes.phoneNumber //只有电话加链接 textview.dataDetectorTypes = UIDataDetectorTypes.link //只有网址加链接 textview.dataDetectorTypes = UIDataDetectorTypes.all //电话和网址都加
我们在看新闻或小说的时候,常常在点选文字后会弹出菜单进行选择,复制等操作。我们可以在这个菜单上添加一些其他内容,如加上“邮件”“微信”等按钮选项
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let textview = UITextView(frame:CGRect(x:10, y:100, width:200, height:100)) textview.layer.borderWidth = 1 //边框粗细 textview.layer.borderColor = UIColor.gray.cgColor //边框颜色 self.view.addSubview(textview) let mail = UIMenuItem(title: "邮件", action: #selector(ViewController.onMail)) let weixin = UIMenuItem(title: "微信", action: #selector(ViewController.onWeiXin)) let menu = UIMenuController() menu.menuItems = [mail,weixin] } @objc func onMail(){ print("mail") } @objc func onWeiXin(){ print("weixin") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } }
@objc func onMail(){
print("mail")
}
@objc func onWeiXin(){
print("weixin")
}
swift4里面自动纠正成了这样
站长求助,有没有什么办法可以修改UITextView的行间距呢?有的第三方字体在软件中使用的话会显得很挤!谢谢!
为什么我在#selector那里按钮这样写会报错呢?
let mail = UIMenuItem(title: "邮件", action: "onMail")
航哥,这句代码会警告!
/Users/zyy/Desktop/屏幕快照 2016-07-21 下午3.02.13.png
航哥,我想在UITextView插入图片之后,让光标换行,或者换两行,让接下来的编辑是在图片下两行里重头输入,有什么办法吗,另外能不能把UITextView里的NSAttributedString转换成html上传给服务器呢
请教一下:我有一个textviiew,里面内容很多,出了纵向滚动条,怎么能让textview第一次显示的时候,显示最上面,而不是显示最下面呢
我想在TextView中显示不可编辑文本,像文档或者小说一样,但是换行符和首行缩进等功能都没办法用,请问该如何解决?
如果 我想点击链接的时候跳转到 APP内的 UIWebView 界面怎么做,有没有什么代理方法之类的
我一个文本框要他在可编辑和不可编辑之间切换要怎么做?
let menu = UIMenuController() 这里报错了 请问下为什么恩??
错误:swift[3204:934090] *** Assertion failure in -[UIMenuController init], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.30.14/UIMenuController.m:97
刚刚入门学习,不太清楚 UITextInput 和 UITextView、UITextField 这些框架的区别?好像 Hangle 也没有一篇关于 UITextInput 的文章?另外问一下 iOS 能否实现调用听写功能(不调出键盘)。一直在跟着 Hangge 的文章自学,很感谢 Hangge !
代码的错误很多,再者,效果出不来