当字段开始编辑时,如何覆盖UITextField的渲染

时间:2017-05-25 08:55:19

标签: ios swift uitextfield

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

UITextView with two lines

为此,我按如下方式覆盖了drawText方法:

mutex mutex_v1_v2 //The mutex controlling shared state var1, var2.
var1, var2

//called every 50ms
onUpdateListener() {
    lock(mutex_v1_v2)
    update var1
    update var2
    unlock(mutex_v1_v2)
}

VarReaderThread::readVar() {
    sleep(50)
    while(!finished) {
        lock(mutex_v1_v2)
        read var1
        read var2
        unlock(mutex_v1_v2)
        sleep(50) //V. V. important to sleep not holding the mutex!
   }
}

这很好,我很高兴。然而,当我点击该字段时,文本字段使用不同的绘制方法重新渲染。所以它看起来像这样:

UITextField when you tap to edit

问题:有没有办法可以覆盖其他一些方法(我已经看过API而且找不到任何东西)来保持我的两个字段?

1 个答案:

答案 0 :(得分:0)

为了达到这个目的,我建议使用UIButton代替UITextfield,因为你想从piker中选择而不是键盘而且也不想编辑行为