如何使页面具有基于电话屏幕自动包装的长文本

时间:2013-07-07 17:48:29

标签: ios uilabel

我正在尝试制作一本书。我被困在可以显示长字符串的文本中。基本上,我尝试使用UI标签,但它只显示一行,剩下的文本被剪切。

知道我应该用什么样的UI来制作一本书?感谢。

2 个答案:

答案 0 :(得分:1)

将UILabel的numberOfLines设置为0,让它根据需要使用尽可能多的行。

答案 1 :(得分:0)

您必须使用UITextView进行此类目的检查

UITextView *aboutStable = [[UITextView alloc] init];
[aboutStable setFont:[UIFont fontWithName:@"Helvetica" size:12]];
[aboutStable setText:@"Write your long text here............iphonemaclover is great"];
[aboutStable setTextColor:[UIColor grayColor]];
[aboutStable setBackgroundColor:[UIColor clearColor]];
[aboutStable setTextAlignment:UITextAlignmentCenter];
[aboutStable setFrame:CGRectMake(0, 302, 320, 79)];
[self addSubview:aboutStable];

并使其不可编辑,因此设置

[aboutStable setUserInteractionEnabled:NO] 应该这样做

如果你需要滚动:

aboutStable.editable = NO;

或者如果你的文字更多,那么你也可以在其中设置scrollview ...

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(20, 195, 280, 10)];
textView.text = @"your long text here";
textView.font = [UIFont fontWithName:@"Hevlatica" size:14];
[self.scrollView addSubview:textView];//add scrollview using Xib and set property of it.
CGRect descriptionFrame = textView.frame;
descriptionFrame.size.height = textView.contentSize.height;
textView.frame = descriptionFrame;

或者您可以在此sample code

中查看更多详细信息

编辑不同的视网膜显示器

CGRect screenRect = [[UIScreen mainScreen] bounds];
if (screenRect.size.height == 568.0f)
   {
    //condition for iphone 5 screen
   }
else
{
 //condition for retina display 3.5
}