• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 字段开始编辑时如何覆盖 UITextField 的呈现

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:44:37 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我创建了一个 UITextField 的子类,其中有一个选择器作为输入 View 。我希望文本字段显示为两行,第一行显示时间,第二行显示日期。像这样:

UITextView with two lines

为此,我重写了 drawText 方法,如下所示:

override func drawText(in rect: CGRect) {
    let paragraphStyle = NSMutableParagraphStyle()
    paragraphStyle.alignment = .left
    paragraphStyle.lineBreakMode = .byWordWrapping
    let attrs = [NSFontAttributeName: UIFont.systemFont(ofSize: 12),
                 NSParagraphStyleAttributeName: paragraphStyle,
                 NSForegroundColorAttributeName: Utilities.COLOR_alarmText]
    (self.text! as NSString).draw(in: rect, withAttributes: attrs)
}

这很棒,我对此很满意。但是,当我点击该字段时,文本字段会使用不同的绘制方法重新呈现。所以它看起来像这样:

UITextField when you tap to edit

问题:有没有一种方法可以覆盖其他一些方法(我查看了 API 并没有找到任何东西)来保留我的两行字段?



Best Answer-推荐答案


为了实现这一点,我建议使用 UIButton 而不是 UITextfield,因为您想从 piker 而不是键盘中进行选择,也不想编辑行为

关于ios - 字段开始编辑时如何覆盖 UITextField 的呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44176340/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap