UITextField文本颜色透明

时间:2017-08-29 00:55:17

标签: ios swift uitextfield

我想在UITextField中设置文本的颜色。文本边框是黑色的,但内部的颜色是透明的。如何为其添加颜色?

这就是我所拥有的:

let memeTextAttributes:[String:Any] = [
        NSStrokeColorAttributeName: UIColor.black,
        NSForegroundColorAttributeName: UIColor.white,
        NSFontAttributeName: UIFont(name: "HelveticaNeue-CondensedBlack", size: 40)!,
        NSStrokeWidthAttributeName: 3.0]

topText.delegate = self
topText.defaultTextAttributes = memeTextAttributes
topText.text = "TOP"
topText.textAlignment = NSTextAlignment.center
topText.adjustsFontSizeToFitWidth = true
topText.center.x = self.view.center.x
topText.center.y = self.view.frame.origin.y + 150
topText.minimumFontSize = 10
topText.textColor = UIColor.white

2 个答案:

答案 0 :(得分:1)

我不得不做一些疯狂的研究。以下是我最终的结果:

let memeTextAttributes:[String:Any] = [
        NSStrokeColorAttributeName: UIColor.black,
        NSForegroundColorAttributeName: UIColor.white,
        NSFontAttributeName: UIFont(name: "HelveticaNeue-CondensedBlack", size: 40)!,
        NSStrokeWidthAttributeName: -5.0
    ]

NSStrokeWidthAttributeName必须是一个NEGATIVE数字/浮点数来填充颜色,而不是一个正数/浮点数!正浮动使颜色透明。

我的项目 - https://github.com/ryanwaite28/ios-developer/blob/master/Meme%20Me/MemeMe2/MemeCreateEditController.swift

我整整一天。

... Wowzerz

答案 1 :(得分:-2)

抱歉,我误解了你想要的东西。如果您希望背景透明,文本边框颜色为黑色,文本颜色为白色,则应1)将文本字段的backgroundColor属性设置为.clear,2)设置文本字段的borderColor属性的layer属性为UIColor.black.cgColor,3)将文本字段的borderWidth属性的layer属性设置为{{1} },和4)将文本字段的1属性设置为textColor

.white