上の画像のようにUITextFieldをカスタム化する必要があるため、カスタムクラスextendUITextFieldクラスを作成してみます。しかし、私の問題は次のとおりです。rectの影の輪郭をストロークし、カスタムコード内のテキストフィールドに白い背景を設定します。
- (void)drawRect:(CGRect)rect
{
// Drawing code
self.autocorrectionType = UITextAutocorrectionTypeNo;
self.autocapitalizationType = UITextAutocapitalizationTypeNone;
CALayer *layer = self.layer;
layer.cornerRadius = 15.0;
layer.masksToBounds = YES;
layer.borderWidth = 1.0;
layer.borderColor = [[UIColor colorWithRed:0 green:0 blue:0 alpha:1] CGColor];
[layer setShadowColor: [[UIColor blackColor] CGColor]];
[layer setShadowOpacity:1];
[layer setShadowOffset: CGSizeMake(2.0, 2.0)];
[self setClipsToBounds:NO];
[self setContentVerticalAlignment:UIControlContentVerticalAlignmentCenter];
[self setContentHorizontalAlignment:UIControlContentHorizontalAlignmentLeft];
}
- (CGRect)textRectForBounds:(CGRect)bounds {
return CGRectMake(bounds.origin.x + 20, bounds.origin.y + 8,
bounds.size.width - 40, bounds.size.height - 16);
}
- (CGRect)editingRectForBounds:(CGRect)bounds {
return [self textRectForBounds:bounds];
}
だから私の質問は:私が欠けているコード(ここでは内側に白い背景を設定し、境界線にアウトラインシャドウを設定します)あなたの助けに感謝します!