1

ボタンのクリックからプログラムで UILabel を作成し、その位置を x、y 座標 (50,50) に設定したいと考えています。

テキストのサイズは 300 文字から 2,000 文字の間で変化する可能性があるため、以下を使用しています。

[myLabel sizeToFit] 

ラベルの幅と高さを設定します。

これまでの私のコードは次のとおりです。

- (IBAction)createLabel:(id)sender {  //create label on button click

    UILabel *label;

    [label sizeToFit]; //set width and height of label based on text size

    //position label
    CGRect frame = label.frame;
    frame.origin = CGPointMake(50, 50);
    label.frame = frame;

    label.numberOfLines = 0;
    label.lineBreakMode = NSLineBreakByCharWrapping;
    label.text = @"This is where the text goes";

    [self.view addSubview:label];     //add label to view
}

プログラムを実行してもエラーは発生しませんが、ボタンを押してラベルを作成しても何も表示されません。

4

1 に答える 1

2

実際にラベルを作成しているわけではありません。

UILabel *label;

変数を宣言するだけで、変数を初期化したり、値を割り当てたりすることはありません。既存のラベルへの参照が必要か、または使用してラベルを作成する必要がありますinitWithFrame:

また、テキストを割り当てたsizeToFitに行う必要があります。

于 2015-04-05T07:48:35.770 に答える