UITextField设置backgroundcolor隐藏阴影

发布于 2024-12-12 08:58:53 字数 689 浏览 0 评论 0原文

所以我用阴影自定义 UITextField.layer:

[userNameField.layer setBorderColor: [[UIColor colorWithRed:180/255.0 green:180/255.0 blue:180/255.0 alpha:1.0] CGColor]];
[userNameField.layer setBorderWidth: 1.0];
[userNameField.layer setCornerRadius:6.0];
[userNameField.layer setShadowOpacity:0.7];
[userNameField.layer setShadowColor:[[UIColor colorWithRed:180/255.0 green:180/255.0 blue:180/255.0 alpha:1.0] CGColor]];
[userNameField.layer setShadowOffset:CGSizeMake(0.5, 0.5)];

这就像一个魅力,但背景是透明的。 现在,当我设置背景颜色时:

[userNameField.layer setBackgroundColor:[[UIColor whiteColor] CGColor]];

阴影被覆盖(被背景颜色隐藏)。

有谁知道如何在文本字段上设置背景颜色和阴影?

So I'm customizing my UITextField.layer with a shadow:

[userNameField.layer setBorderColor: [[UIColor colorWithRed:180/255.0 green:180/255.0 blue:180/255.0 alpha:1.0] CGColor]];
[userNameField.layer setBorderWidth: 1.0];
[userNameField.layer setCornerRadius:6.0];
[userNameField.layer setShadowOpacity:0.7];
[userNameField.layer setShadowColor:[[UIColor colorWithRed:180/255.0 green:180/255.0 blue:180/255.0 alpha:1.0] CGColor]];
[userNameField.layer setShadowOffset:CGSizeMake(0.5, 0.5)];

This works like a charm but the background is transparent.
Now when I set the background color:

[userNameField.layer setBackgroundColor:[[UIColor whiteColor] CGColor]];

The shadow is overwritten (hidden by the background color).

Does anyone know how to set both the background color AND the shadow on a text field?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

仙女 2024-12-19 08:58:53

您只需将 UITextField 层的 masksToBounds 属性显式设置为 NO,如下所示:

myTextField.layer.masksToBounds = NO;

You just need to explicitly set the masksToBounds property of the UITextField layer to NO like so:

myTextField.layer.masksToBounds = NO;
傲影 2024-12-19 08:58:53

试试这个
textField.borderStyle = UITextBorderStyleRoundedRect;

try this
textField.borderStyle = UITextBorderStyleRoundedRect;

夏末 2024-12-19 08:58:53

您可以设置边距:

myTextField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 7, 7)];

试试这个

You can set margin:

myTextField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 7, 7)];

Try this

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文