デフォルトでは、UITextFieldの境界線の色は明るい灰色です。 UITextViewをUITextFieldと同じ境界線色に設定したいです。
私は試した:
myTextView.layer.borderColor = UIColor.lightGrayColor().CGColor
or
myTextView.layer.borderColor = UIColor.lightTextColor().CGColor
or
myTextView.layer.borderColor = myTextField.layer.borderColor
彼らはまだ異なる色を持っています。 UITextFieldの色に合わせてUITextViewの境界線を表示する方法を教えてください。
ありがとうございました。
このコードを試してください。
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を取得します。
この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
IOS 10についても同様の質問があり、答えを見つけることができませんでしたが、ユーティリティと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
Swift 4.x/ios11。
シミュレータを使用してPSDで別の測定を行いました。 205/255 = 0.8のように半径が0.5で、色が0.8であることを確認できます(PSDが示唆するように、HEXでは「cdcdcd」ですが、BUTの幅は0.5。(編集フィールドの半径(UITExtField)とUITextViewに適用される半径を比較できるPSDを添付しました。
正しい:
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
注:既にビューにあるTextFieldから色を取得しようとしましたが、次のようになりました:
let let borderGray = self.cellPhoneTxt.layer.borderColor {let 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は完全な黒といくつかのアルファを使用しています。
Swiftでこのコードを試してください
let borderColor = UIColor.whiteColor.Cgcolor()
myTextView.layer.borderColor = borderColor.CGColor;
myTextView.layer.borderWidth = 1.0;
myTextView.layer.cornerRadius = 5.0;
正確な色は次のとおりです。
Objective-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
プロジェクト全体の一般的なソリューション。 UIViewクラスを外部化し、これらのメソッドを追加できます。
-(void)setBorderColor:(UIColor *)borderColor{
self.layer.borderColor = (borderColor).CGColor;
}
-(UIColor*)borderColor{
return [UIColor colorWithCGColor: self.layer.borderColor];
}
//Getter and setter for border width
-(void)setBorderWidth:(NSInteger)borderWidth{
self.layer.borderWidth = borderWidth;
}
-(NSInteger)borderWidth{
return (NSInteger)roundf((self.layer.borderWidth));
}
Its UIViewの拡張機能。これらのUIView + Designable.h/mファイルをプロジェクトに追加するだけで、属性インスペクターに複数のオプションが表示されます。