UILabel
if text in label is too short to fit in the number of lines used for that label, the text is displayed in the vertical center of the label.
To vertically align the text at the top of the
UILabel
_titleLabel.text = [self._myArray objectAtIndex:indexPath.row]; // get text array.
[_titleLabel setNumberOfLines:0];
//
[_titleLabel sizeToFit];
makes the text disappear
ReplyDeleteIt doesn't work with xcode 6 (for iPad app). Just do nothing.
ReplyDeleteHmm... In Xamarin It works fine:
ReplyDeletepublic class NewsTableViewHeader : UIImageView
{
private UILabel headerLabel { get; set; }
public NewsTableViewHeader(string text, UIImage image, CGRect frame) : base(image)
{
headerLabel = new UILabel(new CGRect(20, 10, frame.Width - 20, frame.Height - 10));
headerLabel.TextColor = UIColor.White;
headerLabel.BackgroundColor = UIColor.Clear;
headerLabel.Font = UIFont.SystemFontOfSize(24);
headerLabel.Text = text;
headerLabel.TextAlignment = UITextAlignment.Left;
headerLabel.LineBreakMode = UILineBreakMode.WordWrap;
#region Fix align label text to top
headerLabel.Lines = 0;
headerLabel.SizeToFit();
#endregion
this.AddSubview(headerLabel);
this.Frame = frame;
this.AddConstraint(NSLayoutConstraint.Create(
this,
NSLayoutAttribute.Height,
NSLayoutRelation.Equal,
this,
NSLayoutAttribute.Width,
9.0f / 16.0f,
0));
}
}