更改可选UITextView的颜色

时间:2014-05-11 18:32:22

标签: ios uitextview

我有一个UITextView的电子邮件地址,我想设置它,以便当用户点击它时,它会调出电子邮件控制器。因此,我设置了selectabledataDetectorTypes属性,并输入了所需的电子邮件地址作为UITextView的文字。

这很好但问题是IOS7中文本的自动突出显示与我UIViewController的背景颜色相同。所以基本上文字消失了,我需要改变它的颜色。

只有将文本视图设置为selectable后,人们才会建议更改文本,字体和文本颜色。但它似乎没有用。无论我试图将它设置为哪种颜色,它都保持相同的蓝色。

有什么想法吗?这是我正在使用的代码:

UITextView* emailText = [[UITextView alloc] initWithFrame:CGRectMake(20, 230, 280, 40)];
emailText.backgroundColor = [UIColor clearColor];
emailText.editable = NO;
emailText.scrollEnabled = NO;
emailText.dataDetectorTypes = UIDataDetectorTypeAll;
if(IS_OS_7_OR_LATER) {
    emailText.selectable = YES;
}
emailText.font = [UIFont fontWithName:@"OpenSansHebrew-Bold" size:28];
emailText.textColor = [UIColor whiteColor];
emailText.text = @"our email address";
[self.view addSubview:emailText];

1 个答案:

答案 0 :(得分:0)

我最后在UIView下面放了UITextView(请参阅我的问题),这样可以直接获得我想要的任何背景颜色。

如果我可以为UITextView的文字选择颜色会更好,但我想这是一个可接受的解决方法。

UIView *emailFrameView = [[UIView alloc] initWithFrame:CGRectMake(20, 230, 280, 50)];
emailFrameView.backgroundColor = [UIColor greenColor];
emailFrameView.layer.cornerRadius = 5;
[self.view addSubview:emailFrameView];