如何将UITextView的边框设置为与UITextField的边框颜色相同

时间:2014-09-21 18:25:33

标签: ios swift uitextview

默认情况下,UITextField的边框颜色为浅灰色。 我想将我的UITextView设置为与UITextField具有相同的边框颜色。

我试过了:

myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor
or
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor
or 
myTextView.layer.borderColor = myTextField.layer.borderColor

他们仍然有不同的颜色。 你能告诉我如何看到UITextView边框以匹配UITextField颜色吗?

谢谢。

8 个答案:

答案 0 :(得分:59)

试试这段代码。

UIColor *borderColor = [UIColor colorWithRed:204.0/255.0 green:204.0/255.0 blue:204.0/255.0 alpha:1.0];

myTextView.layer.borderColor = borderColor.CGColor;
myTextView.layer.borderWidth = 1.0;
myTextView.layer.cornerRadius = 5.0;

更改borderWidth和cornerRadius值以获得与UITextField完全相同的ui。

答案 1 :(得分:28)

此Swift代码也适用于设置相同的边框颜色,宽度和宽度。半径为UITextField

myTextView.layer.borderColor = UIColor(red: 0.9, green: 0.9, blue: 0.9, alpha: 1.0).CGColor
myTextView.layer.borderWidth = 1.0
myTextView.layer.cornerRadius = 5

答案 2 :(得分:14)

我对iOS 10有类似的问题,并且无法找到答案,但这是我在Utilities和iOS模拟器中使用数字色度计找到的。

Swift 3 / iOS 10

let color = UIColor(red: 186/255, green: 186/255, blue: 186/255, alpha: 1.0).cgColor
myTextView.layer.borderColor = color
myTextView.layer.borderWidth = 0.5
myTextView.layer.cornerRadius = 5

答案 3 :(得分:6)

swift 4.x / ios11。

我使用模拟器在PSD中做了另一个测量。 我可以确认半径是0.5,颜色是0.8,因为205/255 = 0.8(或者#34; cdcdcd"在HEX中,如PSD所示,但是宽度必须 0.5 。 (我附加了一个PSD,您可以在其中比较编辑字段的半径(UITExtField)和应用于UITextView的半径。

所以它是正确的:

    let borderGray = UIColor(red: 0.8, green: 0.8, blue: 0.8, alpha: 1)
    self.TxtV.layer.borderColor = borderGray.cgColor
    self.TxtV.layer.borderWidth = 0.5
    self.TxtV.layer.cornerRadius = 5

注意:我试图从View上的TextField获取颜色,但我得到了:

如果让borderGray = self.cellPhoneTxt.layer.borderColor {         让BG = UIColor(cgColor:borderGray)

    print(BG)
    var red: CGFloat = 0
    var green: CGFloat = 0
    var blue: CGFloat = 0
    var alpha: CGFloat = 0
    BG.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
    print(red, green, blue, alpha)

}

但是我进入了控制台:

kCGColorSpaceModelRGB 0 0 0 1

0.0 0.0 0.0 1.0

所以看来Apple正在使用全黑和一些Alpha。

enter image description here

答案 4 :(得分:4)

试试Swift的这段代码

import re
import sys
import yaml

chart_matcher = re.compile(r'^var (chart[0-9]+) = new Highcharts.Chart\(({.*?})\);$',
        re.MULTILINE | re.DOTALL)

script = sys.stdin.read()

m = chart_matcher.findall(script)

for name, data in m:
    print name
    try:
        chart = yaml.safe_load(data)
        print "categories:", chart['xAxis'][0]['categories']
        print "data:", chart['series'][0]['data']
    except Exception, e:
        print e

答案 5 :(得分:2)

确切的颜色是:

目标-C:

[UIColor colorWithRed:0.76 green:0.76 blue:0.76 alpha:1.0].CGColor;

夫特:

UIColor(red:0.76, green:0.76, blue:0.76, alpha:1.0).CGColor

答案 6 :(得分:1)

与Swift 5.2和暗模式支持一样:)

如果您的textField是这样的:

myTextField.layer.cornerRadius = 10
myTextField.layer.borderWidth = 1
myTextField..layer.borderColor = UIColor.systemGray4.cgColor

然后,您的UITextView将与以下内容完全相同:

myTextView.layer.cornerRadius = 10
myTextView.layer.borderWidth = 1.0
myTextView.layer.borderColor = UIColor.systemGray4.cgColor

答案 7 :(得分:0)

通过整个项目的通用解决方案。您可以extern UIView类并将这些方法添加到它。

ComputeHash

Its对UIView的扩展。只需在项目中添加这些UIView + Designable.h / m文件,您就可以在属性检查器中看到更多选项。