我想知道在iOS中改变UITextField(和UITextView如果答案相同)中的光标/插入符号的颜色。我看到过OSX开发的答案,但没有iOS的答案。

这可能吗?


当前回答

我认为如果你想要一些自定义颜色,你可以去资产。xcassets文件夹,右键单击并选择新的颜色设置,一旦你创建了你的颜色设置,给它一个名字来重用它。

你可以这样使用它:

import UIKit 

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        UITextField.appearance().tintColor = UIColor(named: "YOUR-COLOR-NAME")  #here
    }
}

在macOS 10.15 / iOS 13 / Swift 5上测试

其他回答

试试,这对我很有用。

[[self.textField valueForKey:@"textInputTraits"] setValue:[UIColor redColor] strong textforKey:@"insertionPointColor"];

在iOS7中,你可以简单地改变textField的tintColor

接口生成器版本与Swift

@IBOutlet weak var tvValue: UITextView! {
        didSet {
            tvValue.tintColor = .black
        }
    }

斯威夫特3:

  UITextField.appearance().tintColor = UIColor.black
  UITextView.appearance().tintColor = UIColor.black

这在swift中很管用:

UITextField.tintColor = UIColor.blackColor()

你也可以在storyboard中设置:https://stackoverflow.com/a/18759577/3075340