2016-09-28 5 views
0

ラベル「Pick up location」と「Drop location」の2つの画像をアップロードしました。このラベルはテーブルビューのセルに設定されます。この画像でラベルが左上から始まらない

enter image description here

これら二つのラベルは、中間

から始まるnumberoflines = 3が、テキストを設定して、私はこの希望されています

enter image description here

Iを既にsetofプロパティーnumberofLines = 0とラベルの高さ> =でこのことを行いました。 しかし、このプロパティを設定するには、ラベルの実際の高さをテキストで見つけなければならず、ラベルの高さに応じて他のコントロールを設定します。 ラベルの高さが固定されている:

Sizetofitは、この場合

私が望んで動作していません。 NumberofLines = 3とラベルが

左上から始めているが、あなたの助け

答えて

0

UILabelのサブクラスを作成し、MyTopAlignedLabelそれを呼び出すいただきありがとうございます。

その後、あなたのMyTopAlignedLabel.mファイルにこれを追加します。

- (void)drawTextInRect:(CGRect)rect { 

     if (self.text) { 
      CGSize labelStringSize = [self.text boundingRectWithSize:CGSizeMake(CGRectGetWidth(rect), CGFLOAT_MAX) 
                  options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading 
                  attributes:@{NSFontAttributeName:self.font} 
                  context:nil].size; 

      CGFloat height = MIN(ceilf(labelStringSize.height), CGRectGetHeight(rect)); 

      [super drawTextInRect:CGRectMake(0, 0, rect.size.width, height)]; 

     } else { 
      [super drawTextInRect:rect]; 
     } 
    } 

、このクラスのものであるとInterface Builderであなたのラベルを設定します。

+0

これは機能しません。 –

+0

それは私にとって完璧に働いています。 Interface Builderのラベルのカスタムクラスを 'MyTopAlignedLabel'に設定してもよろしいですか? – norders

+0

ええ、その作業、ありがとう –

関連する問題