0

也许是一个巨大的菜鸟问题,但我似乎无法弄清楚,即使经过一段时间的谷歌搜索,我也无法找到在导航栏下方安排滚动视图。

我的代码:

    - (void)loadView {

    UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    scroll.backgroundColor = [UIColor blackColor];
    scroll.delegate = self;
    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Plattegrond DeFabrique schematisch.png"]];
    scroll.contentSize = image.frame.size;
    [scroll addSubview:image];

    scroll.minimumZoomScale = scroll.frame.size.width / image.frame.size.width;
    scroll.maximumZoomScale = 2.0;
    [scroll setZoomScale:scroll.minimumZoomScale];

    self.view = scroll;

}

在此处输入图像描述

在此处输入图像描述

4

3 回答 3

0

创建 ScrollView 时,您可以简单地使用 self.view 的框架。这将解决您的问题。

- (void)loadView {

    UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.frame];
    scroll.backgroundColor = [UIColor blackColor];
    scroll.delegate = self;
    image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Plattegrond DeFabrique schematisch.png"]];
    scroll.contentSize = image.frame.size;
    [scroll addSubview:image];

    scroll.minimumZoomScale = scroll.frame.size.width / image.frame.size.width;
    scroll.maximumZoomScale = 2.0;
    [scroll setZoomScale:scroll.minimumZoomScale];

    [self.view addSubView:scroll]; //MarkM

}
于 2013-05-06T15:52:38.147 回答
0

由于您[UIScreen mainScreen]在分配 UIScrollView 时传递了框架,因此 UIScrollView 的大小与 UINavigation 重叠。将其替换为

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.frame];

也不要用 scrollView 替换 self.view ,而是尝试将 scrollView 添加为 self.view 上的子视图

[self.view addSubview:scrollView];

执行以下任务viewDidLoad

希望它会帮助你。

于 2013-05-06T15:57:10.183 回答
0

尝试在 superview 后面插入视图或尝试 sendSubviewToBack。

[[self.view superview] insertSubview:scroll belowSubview:self.view];

或者

[self.view sendSubviewToBack:scroll];

听起来您只是想将滚动视图添加到 self.view 。按照其他答案的建议执行并从 self.view 框架创建滚动视图,然后将其添加到您的 self.view 中。

UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:self.view.frame]; // Thilina
[self.view addSubview:scroll];
于 2013-05-06T15:45:38.363 回答