iOS UITextView - метод setText не показывает мой текст? - PullRequest
2 голосов
/ 27 января 2012

Я создал 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];

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

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 27 января 2012

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

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

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

2 голосов
/ 27 января 2012

Это действительно странно.Я создаю проект "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.Или показать больше кода.

...