2012-01-26 3 views
2

Я создал UITextView программно с последующей:iOS UITextView - метод setText, не показывающий мой текст?

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]; 

Все мои другой функции UILabel «s правильно, когда я использую SetText метод , однако я не могу показать UITextView, чтобы показать что-либо.

Любые идеи?

+0

try 'messageBodyTxt.text = @" некоторый случайный текст "; вместо –

+2

Где текстовое изображение добавляется на экран. Что, если вы измените цвет фона на что-то очевидное, вы все еще можете его увидеть? Не видите, почему ваш код не будет работать, если его не использовать/на экране. –

+0

@AmitShah согласился. Кроме того, где, по вашему мнению, иерархия? может ли быть скрыто другое UIView, которое непрозрачно? – ddodev

ответ

2

Я понял. Рамка родительского представления была слишком мала и не была обрезана, поэтому я мог видеть все мои другие элементы в представлении, но они не были нажаты (например, кнопки и т. Д.)

Как только я фиксированный родительский кадр представления был правильным размером, текст `UITextView волшебным образом появился.

Спасибо всем, что вы сделали отлично!

+0

Вы можете использовать IB для простых вещей, подобных этому. Это очень легко и предотвратить некоторые неприятности. – kaspartus

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. Или показать больше кода.

Смежные вопросы