-1

我实际上有 2 个问题。首先,我将解释这个场景。我有一个简单的 Storyboard 应用程序。第一个控制器是UITableViewController显示邮件类型列表。当点击一个单元格时,它会转到 aUIViewController并且根据所选的邮件类型,它会将 a 加载UIViewUIViewController. 这一切都很好。我的问题是,

我的一个UIView身高是559。我在UIScrollView里面放了一个,UIViewController这样当UIView加载额外高度的时候,它就可以滚动了。但不是发生这种情况,而是将UIView大小调整为UIViewController. 如何保持其原始高度并将其嵌入到UIScrollView? 在界面生成器中,我UIToolbarUIViewController. 但是,当UIView加载到其中时,UIToolbar消失了。我猜UIView出现在UIToolbar(?) 的顶部。我怎样才能避免这种情况发生?

我知道这一定有点让人难以理解。因此,我上传了一个 Xcode 项目,展示了这里的 2 个问题。

请看看并告诉我我应该做什么。

谢谢你。

4

1 回答 1

0

我发现您在项目中所做的事情存在一些问题,这可以解释为什么您会得到这些结果。

  1. NewMailViewController.m中,您将在情节提要中创建的视图(具有滚动视图和工具栏的视图)替换为您从笔尖加载的视图(即self.view = [nib objectAtIndex:0];)。尝试在 -loadView 中执行此操作

    [super loadView];
    
    UIView *someView = nil;
    
    if ([self.mailTypeName isEqualToString:@"Email"]) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Email" owner:self options:nil];
        someView = [nib objectAtIndex:0];
    }
    else if ([self.mailTypeName isEqualToString:@"Facsimile"]) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Facsimile" owner:self options:nil];
        someView = [nib objectAtIndex:0];
    }
    else if ([self.mailTypeName isEqualToString:@"Memorandum"]) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"Memorandum" owner:self options:nil];
        someView = [nib objectAtIndex:0];
    }
    else if ([self.mailTypeName isEqualToString:@"ProjectMemo"]) {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ProjectMemo" owner:self options:nil];
        someView = [nib objectAtIndex:0];
    }
    
    CGRect frame = someView.frame;
    frame.size.width = self.myScrollView.frame.size.width;
    [someView setFrame: frame];
    
    [self.myScrollView addSubview: someView];
    [self.myScrollView setContentSize: someView.bounds.size];
    
  2. 您会注意到我在上面的代码片段中引用了滚动视图。您需要为NewMailViewController类中的滚动视图创建一个出口,以便您可以根据需要引用它。它涉及将其放入您的头文件中:

    @property (strong, nonatomic) IBOutlet UIScrollView *myScrollView;

    您需要将定义的插座连接到实际故事板的滚动视图。您可以在 Internet 上搜索“在 Xcode 中创建或连接插座”以获取更多信息。

  3. 工具栏似乎是滚动视图的子视图。当滚动视图的内容滚动时,您不希望工具栏停留在视图的底部吗?如果是这样,您需要将该工具栏视图从滚动视图中移出。

以下是更改:http ://www62.zippyshare.com/v/90505016/file.html

于 2013-04-09T15:54:12.517 回答