Change custom text field background color and text color IOS Swift

心已入冬 提交于 2019-11-30 01:49:04

问题


I'm using following custom text field class to change appearance of the text field. Now I need to change text field's background color, text color and place holder color, when user start editing and end editing the text field. How to do it, using this class.

import Foundation
import UIKit

class CustomTextField: UITextField{

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)

        //Border
        self.layer.cornerRadius = 15.0;
        self.layer.borderWidth = 1.5
        self.layer.borderColor = UIColor.whiteColor().CGColor

        //Background
        self.backgroundColor = UIColor(white: 1, alpha: 0.0)

        //Text
        self.textColor = UIColor.whiteColor()
        self.textAlignment = NSTextAlignment.Center
    }

}

回答1:


Add self as a target for the UIControl events you need according to documentation

There you have control events for EditingDidBegin and such.

Something like this:

self.addTarget(self, action: "myFunc", forControlEvents: UIControlEvents.EditingDidBegin);



回答2:


In your CustomTextField class you can add a property observer:

var change: Bool = false {
    didSet {
        textColor = change ? .yellow : .black
        backgroundColor = change ? .blue : .white
    }
}

and in your ViewController:

func textFieldDidBeginEditing(textField: UITextField) {
    customTextField.change = true
}

func textFieldDidEndEditing(textField: UITextField) {
    customTextField.change = false
}

Don't forget to set the delegate of your textfield, in storyboard or programmatically.

EDIT:
Shortened the code and updated for Swift 3




回答3:


Select the text field -> click "identity inspector" icon -> click on Plus button "user Defined runtime attributes" -> add this text "_placeholderLabel.textColor" in "key path" field -> choose the "Type" "color" and set the value color.



来源:https://stackoverflow.com/questions/29888253/change-custom-text-field-background-color-and-text-color-ios-swift

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!