-1

viewControllerでラベルを定義し、そのラベルを設定し@propertyて合成しました。のファイル所有者とUIlabelの間にリンクを確立しましたviewDidLoad。この文字列リンクを表示しようとしています:

- (void)viewDidLoad {
    getname = [[UILabel alloc] init];
    getname.text = @"hello";
    [super viewDidLoad];
}

ただし、文字列はUIViewのラベルに表示されていません。UIViewに文字列を表示するために必要なことを教えてください。ビューコントローラとnibファイルの名前は同じです。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
    }
    return self;
}

しかし、viewcontroller.mファイルを追加して何かを表示したい場合、そのコードに応答しません。どうすればこれを修正できますか?

4

4 に答える 4

0

あなたのようなものを変更してくださいviewDidLoad

- (void)viewDidLoad
{
    getname.text = @"hello";
    [super viewDidLoad];
}

を割り当てる必要はありませんIBOutlet

于 2012-11-16T13:52:20.093 に答える
0

ラベルを xib に追加した場合は、初期化行にコメントを付けます。

- (void)viewDidLoad
{

//getname = [[UILabel alloc] init];


getname.text = @"hello";


[super viewDidLoad];

}
于 2012-11-16T13:54:19.413 に答える
0

ストーリーボードを使用している場合...

ストーリーボードを使用しているようです。その場合、ストーリーボードがそれを処理するため、を削除する必要がありinitます。

- (void)viewDidLoad
{
    getname.text = @"hello";
    [super viewDidLoad];
}

ストーリーボードで使用initすると、オブジェクトが再宣言されるため、ストーリーボードはそれを見つけることができません。

ストーリーボードを使用していない場合...

ストーリーボードを使用していない場合は、ラベルをビューに追加する必要があります。

- (void)viewDidLoad
{
    getname = [[UILabel alloc] init];
    getname.text = @"hello";
    [self.view addSubview:getname];
    [super viewDidLoad];

}

この行は、実際に表示されるようにサブビューとして[self.view addSubview:getname];追加します。UILabel

于 2012-11-16T13:50:30.330 に答える
-1

この関数をこのコードに置き換えるだけです

- (void)viewDidLoad
{

    getname = [[UILabel alloc] init];


    getname.text = @"hello";

    [self.view addSubview:getname];

    [super viewDidLoad];

}

それがあなたを助けることを願っています..

また、.h ファイルで IBOutlet を使用している場合は、自動的にメモリが割り当てられるため、メモリを割り当てないでください。

したがって、IBOutlet を使用した場合、関数は次のようになります。

- (void)viewDidLoad
{

    getname.text = @"hello";

    [super viewDidLoad];

}
于 2012-11-16T13:52:02.227 に答える