如何创建一个透明的UITextField?

17

在我的 UIView 上,有一个 UIImageView 和一个 UITextView

这个 UITextView 必须是透明的, 我们需要看到 imageView

我该如何做到这一点?

5个回答

23

Objective-C

如果你只想让UITextView的背景透明(而不是整个UITextView都透明),我认为你应该通过它从UIView继承的backgroundColor属性来实现。

像这样...

[yourTextView setBackgroundColor:[UIColor clearColor]];

这样应该能够解决问题。

但是,如果你想要将整个UITextView透明化,@taskinoor提到的alpha属性就非常完美。


9

您可以将文本视图的透明度设置为任何所需值。

myTextView.alpha = 0.5;    // 50% 透明度

alpha属性不会影响所有元素(包括文本)吗?但也许这正是他想要的。(很难从问题中判断。) - John Parker
是的,文本也需要更改。我猜这就是他想要的。否则我可能误解了问题。 - taskinoor
嗨,Taskinoor,我正在寻找一个UITextView,它必须是透明的,而不会影响上面的文本。 - good guy
@Nandakishore,你可以尝试middaparka的答案。你可以使用UIColor colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha方法创建具有特定alpha值的UIColor。 - taskinoor

9
  1. 转到实用程序面板(在右侧),向下滚动到“查看”部分。
  2. 然后,找到“背景”字段。 我的UITextField / UITextView已经透明了。 你的应该有一个纯色背景,对吗? 这意味着该对象不透明。 enter image description here
  3. 打开弹出菜单并按“清除颜色”。 然后,您必须看到颜色是半黑半白的(像我的一样)。 这是Xcode表示透明度的方式。

然后,您就完成了(如果我理解正确,您不必处理任何代码)!


7
我是如何使用的:

我是这样使用的:

[textField setBackgroundColor:[UIColor clearColor]]; //clear background
[textField setBorderStyle:UITextBorderStyleNone]; //clear borders

4

Swift 4及更高版本

如果使用Swift 4,请使用以下代码:

yourTextView.backgroundColor = UIColor.clear

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接