我正在尝试禁用UITextView
上的修改。我尝试了[aboutStable setUserInteractionEnabled: NO]
,但它导致页面无法访问。
这是当前的代码。
- (void)loadTextView1 {
UITextView *textView1 = [[UITextView alloc] init];
[textView1 setFont:[UIFont fontWithName:@"Helvetica" size:14]];
[textView1 setText:@"Example of editable UITextView"];
[textView1 setTextColor:[UIColor blackColor]];
[textView1 setBackgroundColor:[UIColor clearColor]];
[textView1 setTextAlignment:UITextAlignmentLeft];
[textView1 setFrame:CGRectMake(15, 29, 290, 288)];
[self addSubview:textView1];
[textView1 release];
}
感谢任何建议/答案。
答案 0 :(得分:21)
首先,当您可以使用属性时,您正在使用setter方法。其次,您正在设置一大堆非常接近默认值的不必要属性。这是一个更简单的,也许你的代码意图:
- (void)loadTextView1 {
UITextView *textView1 = [[UITextView alloc] init];
textView1.text = @"Example of non-editable UITextView";
textView1.backgroundColor = [UIColor clearColor];
textView1.frame = CGRectMake(15, 29, 290, 288);
textView1.editable = NO;
[self addSubView:textView1];
[textView1 release];
}
答案 1 :(得分:20)
您可以使用属性editable
textView.editable = NO;
答案 2 :(得分:6)
self.textView.editable = false
可以在apple UIKit Framework Reference中找到更多详细信息。
要考虑的其他UITextView属性:
答案 3 :(得分:4)
对于Swift 3.0和Swift 4.0:
textView.isEditable = false
答案 4 :(得分:0)
Swift 3.0
func loadTextView1()
{
let textView1 = UITextView()
textView1.text = "Example of non-editable UITextView"
textView1.backgroundColor = UIColor.clear
textView1.frame = CGRect(x: 15, y: 29, width: 290, height: 288)
textView1.isEditable = false
addSubView(textView1)
}
否则在Xcode的Interface Builder中取消选中" Editable"在文本视图的属性检查器中。
答案 5 :(得分:0)
答案 6 :(得分:0)
如果要阻止所有用户交互,则需要执行以下两项操作:
self.commentText.isEditable = false
self.commentText.isSelectable = false
答案 7 :(得分:0)
哇,这肯定要死了!很抱歉,要添加另一个,但是我要提一下,您可以使用以下方法消除任何用户不确定性:
commentTextView.isUserInteractionEnabled = false