2017-05-23 3 views
1

ios.Xamarinでプログラムで複数行のUILabelを設定したいとします。iOSで動作しないプログラム上のマルチライン

私はこのようにUILabelを作成し、それを下のコードに追加しました。

コード:

public override void ViewDidLoad() 
     { 
      base.ViewDidLoad(); 


      var label = new UILabel(); 
      label.Frame = new CoreGraphics.CGRect(10, 10, secondContainer.Frame.Size.Width - 20, 20); 
      label.Text = "First Label First Label First Label First Label First Label First Label"; 
      label.Lines = 0; 
      label.LineBreakMode = UILineBreakMode.WordWrap; 
      secondContainer.AddSubview(label); 
      secondContainer.AddConstraint(NSLayoutConstraint.Create(label, NSLayoutAttribute.Height, NSLayoutRelation.GreaterThanOrEqual, null, NSLayoutAttribute.NoAttribute, 0, 20)); 

      secondContainerHeight.Constant = label.Frame.Size.Height + 20; 
     } 

が、私のラベルには、複数のラインを取っていません。

注:

この2プロパティがうまく

label.Lines = 0; 
label.LineBreakMode = UILineBreakMode.WordWrap; 

私はGoogleで検索を試してみましたし、SOが、何も私を助けていない機能していません。

ヘルプはお寄せいただきありがとうございます。

答えて

3

UILabelの幅に十分なスペースがないことを確認して、「拡張」する必要があります。

label.Lines = 0; 
label.SizeToFit(); 
label.LineBreakMode = UILineBreakMode.WordWrap; 

・ホープ、このことができます:

また、あなたのUILabel、のようなものでSizeToFit()メソッドを使用します!

+0

ありがとう@apineda「SizeToFit」は私のために働いています。 – Ironman

関連する問題