我已通过以下方式以编程方式创建了UITextView
:
messageBodyTxt = [[UITextView alloc] initWithFrame:CGRectMake(36, 204, 763, 251)];
[messageBodyTxt setTextColor:[UIColor colorWithRed:0.627 green:0.627 blue:0.627 alpha:1]];
[messageBodyTxt setBackgroundColor:[UIColor clearColor]];
[messageBodyTxt setText:@"some random text"];
但是, setText 属性未显示我的文字。我的头文件如下所示:
#import <UIKit/UIKit.h>
@interface MessageView : UIView {
UITextView *messageBodyTxt;
}
@end
我已将它添加到我的视图中:
[self addSubview:messageBodyTxt];
当我使用 setText 方法时,我的所有其他UILabel
功能都正常,但我似乎无法让UITextView
显示任何内容。
有什么想法吗?
答案 0 :(得分:2)
真的很奇怪。我创建了“1视图”项目。 然后: ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController: UIViewController {
UITextView *exampleTxt;
}
@end
转到ViewController.m(viewDidLoad):
-(void)viewDidLoad{
[super viewDidLoad];
exampleTxt = [[UITextView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[exampleTxt setText:@"Everything Ok"];
[exampleTxt setColor:[UIColor redColor]]; //yes, it's deprecated, but works
[self.view addSubview: exampleTxt]; //because its ViewController
}
一切都好。 将viewController链接到MessageView看起来很麻烦。尝试使用Interface Builder。 或者显示更多代码。
答案 1 :(得分:2)
我明白了。父视图的框架太小,没有被剪裁,所以我可以看到视图中的所有其他元素都显示出来,但它们不可点击(例如按钮等)
一旦我将父视图框固定为正确的大小,`UITextView文本就会神奇地出现。
谢谢大家,你做得很棒!