Ios 在Xcode 5中编译应用程序时不再显示文本

Ios 在Xcode 5中编译应用程序时不再显示文本,ios,objective-c,xcode,Ios,Objective C,Xcode,我的申请表里有一本词典。您可以在之前的列表视图中选择您的信件。单击它时,它会为所有字母打开相同的ViewController,但它会根据字母的编号位置确定从列表视图中选择的字母。除了两个,他们都能工作。这两个词的一个共同点是它们是字典中两个最长的字母部分。这似乎是一个问题,尽管我不确定如何着手修复它,以便它们再次显示。下面是加载代码时的样子 - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated];

我的申请表里有一本词典。您可以在之前的列表视图中选择您的信件。单击它时,它会为所有字母打开相同的ViewController,但它会根据字母的编号位置确定从列表视图中选择的字母。除了两个,他们都能工作。这两个词的一个共同点是它们是字典中两个最长的字母部分。这似乎是一个问题,尽管我不确定如何着手修复它,以便它们再次显示。下面是加载代码时的样子

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    int scrollHeight;
    [scrollView setContentOffset:CGPointMake(0,0) animated:NO];

    if([selected intValue] == 0){
        self.title = @"A";

        content.text = @"A definitions go here. This string works";
    }
    else if([selected intValue] == 1){
        self.title = @"B";

        content.text = @"B definitions go here. This string (along with 'S') does not display";
    }
    else if([selected intValue] == 2){
        self.title = @"C";

        content.text = @"C definitions go here. This string works";
    }


    scrollHeight = 12500;
    content.lineBreakMode = UILineBreakModeWordWrap;

    CGSize expectedLabelSize = [content.text sizeWithFont:content.font 
                                        constrainedToSize:content.frame.size
                                            lineBreakMode:UILineBreakModeWordWrap];

    CGRect newFrame = content.frame;
    newFrame.size.height = expectedLabelSize.height;
    content.frame = newFrame;
    content.numberOfLines = 0;
    [content sizeToFit];

    scrollView.contentSize = CGSizeMake(320, scrollHeight);
    [mainView addSubview:scrollView];

}

就像我说的。除了两个最长的外,它对所有这些都非常有效。我已经更新了应用程序,并在旧的Xcode 4.0上进行了测试。当时这些都很好用。直到我因为gdb问题决定更新到Xcode 5,它才突然中断,不再显示任何文本。

您正在设置
内容的框架,然后调用
[content sizeToFit]
,这完全覆盖了您可能设置的任何框架。不确定您的问题是什么,但您只能有一个或另一个:在标签上设置自定义框架,或者
sizeToFit:

这样您在context.text上设置的字符串就不会显示了?如果您在if中手动设置相同的字符串(长度相同),是否有效?您是否尝试在UILabel上调用LayoutIfNeed或setNeedsDisplay?更改内容高度后,是否确保内容高度不为0?@Olshansk是,该字符串未显示在该特定字符串中。这个完全相同的代码用于所有其他字母,并且位于同一个.m。if([selected intValue]==1)及其包含的所有内容对于其他字母都是相同的,只是content.text中的文本不同。如果([selected intValue]==2)依此类推,则它们各自由else分隔。字母B和S的两个最长文本字符串不起作用,而其他所有字符都正常工作。我来看看你提到的其他事情。内容高度是设置的,不会变为0。好的,但在更新我现在遇到问题的字母之前,它是这样工作的,并且它仍然适用于除两个最长字符串之外的所有其他字母。正如在所有文本中一样,除了两个最长字符串外,所有文本都显示良好。哪一个根本不显示?什么是“好”?我编辑了原始帖子。如果你看If/elseif语句,字典中的所有字母都是这样。每个字母的内容都显示在content.text(即定义)中。两个不起作用的内容是“B”和“S”。文本字符串是最长的两个。他们为什么不展示对我来说毫无意义。