我创建了一个 UITextField 的子类,其中有一个选择器作为输入 View 。我希望文本字段显示为两行,第一行显示时间,第二行显示日期。像这样:
为此,我重写了 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)
}
这很棒,我对此很满意。但是,当我点击该字段时,文本字段会使用不同的绘制方法重新呈现。所以它看起来像这样:
问题:有没有一种方法可以覆盖其他一些方法(我查看了 API 并没有找到任何东西)来保留我的两行字段?
Best Answer-推荐答案 strong>
为了实现这一点,我建议使用 UIButton 而不是 UITextfield,因为您想从 piker 而不是键盘中进行选择,也不想编辑行为
关于ios - 字段开始编辑时如何覆盖 UITextField 的呈现,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/44176340/
|