在另一个滚动视图中使用导航栏滚动视图

时间:2013-12-09 18:26:26

标签: ios objective-c uiscrollview

我有一个带有三个视图控制器的应用程序,用户可以在它们之间滑动。该应用程序加载在中间视图控制器上。我正在尝试创建一种帮助屏幕,由包含3个用户可以在其间滑动的图像的滚动视图组成,以及顶部的导航栏以允许用户退出帮助屏幕。此帮助屏幕将显示在主滚动视图的顶部,一直保留20px的边距。

这是我的代码到目前为止,创建了帮助滚动视图:

if ([[ UIScreen mainScreen ] bounds ].size.height == 568 ) {
    NSArray *images = [[NSArray alloc] initWithObjects:[UIImage imageNamed:@"Guide Page One.png"], nil];
    self.helpScrollView.contentSize = CGSizeMake(280 * 3, 528);
    self.helpScrollView.pagingEnabled = YES;

CGFloat xPos = 0.0;

for (UIImage *image in images) {
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.frame = CGRectMake(xPos, 0.0, 280, 528);
    [self.scrollView addSubview:imageView];
    xPos += 280;
    // assuming ARC, otherwise release imageView
}

这是我试图让它在4“屏幕上工作。当我运行模拟器时,滚动视图中的一个图像显示在主滚动视图的最左侧,并且没有导航栏。< / p>

这就是我的xib的设置方式:

enter image description here

结果如下:

enter image description here

主滚动视图仍然滚动。我不想要这个。基本上我想要的是这个帮助滚动视图显示我的图像,并允许用户在关闭它之前滚动它们,并继续到主应用程序。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

  1. 执行 [self.scrollView addSubview:imageView] 时, ImageView 会添加到图层堆栈的顶部,因此它只会隐藏 NavigationBar
  2. 您的helpScrollView似乎定位错误。您可以添加约束以正确定位它。
  3. 如果您希望主ScrollView不响应触摸,则应在显示帮助ScrollView之前设置 mainScrollView.scrollEnabled = NO ,并将其隐藏设置nack为YES;