我想知道在iOS中改变UITextField(和UITextView如果答案相同)中的光标/插入符号的颜色。我看到过OSX开发的答案,但没有iOS的答案。
这可能吗?
我想知道在iOS中改变UITextField(和UITextView如果答案相同)中的光标/插入符号的颜色。我看到过OSX开发的答案,但没有iOS的答案。
这可能吗?
当前回答
如果UITextField来自UISearchBar,那么首先从searchBar获得textField,然后应用tintColor属性:
let textFieldInsideSearchBar = searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideSearchBar?.tintColor = UIColor.lightGray
其他回答
如果UITextField来自UISearchBar,那么首先从searchBar获得textField,然后应用tintColor属性:
let textFieldInsideSearchBar = searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideSearchBar?.tintColor = UIColor.lightGray
对于在SwiftUI中搜索Textfield的人来说,这是accentColor:
TextField("Label", text: $self.textToBind).accentColor(Color.red)
接口生成器版本与Swift
@IBOutlet weak var tvValue: UITextView! {
didSet {
tvValue.tintColor = .black
}
}
我认为如果你想要一些自定义颜色,你可以去资产。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上测试
这只能通过访问私有财产来实现,因此可能会导致苹果AppStore应用程序被拒绝。
看看这个Stackoverflow的问题