【问题标题】:iPhone - What is the correct way to implement the UIScrollView?iPhone - 实现 UIScrollView 的正确方法是什么?
【发布时间】:2011-11-06 20:10:48
【问题描述】:

我有两个 UIViewController,每个都有自己的 nib 文件。每个控制器都有不同的用途。这个想法是添加一个 UIScrollController 并向其中添加两个 UIViewController,以便用户可以轻松地在它们之间滚动。

Q1) 这可能吗?还是我的 UIScollControllers 的全部目的不正确,如果是这样,最好的选择是什么。

我一直在互联网上闲逛,我能想到的最好的是:

ScoreViewController *scoreController = [[ScoreViewController alloc] initWithNibName:@"ScoreViewController" bundle:nil];
scoreController.view.frame = CGRectMake(0.0f, 0.0f, 960f, 640f);
[self.scrollview addSubview:scoreController.view];
[scoreController release];

SettingsViewController *settingsController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];
settingsController.view.frame = CGRectMake(0.0f, 0.0f, 960f, 640f);
[self.scrollview addSubview:settingsController.view];
[settingsController release];

此代码输入到我的 RootViewController 类中。它似乎不起作用,因为我无法在我添加的两个 UIViewControllers 之间滚动(分数和设置)。屏幕上显示的所有内容都是添加的第二个控制器 - SettingsViewController。

Q2) 为什么会损坏?

谢谢。 :)

【问题讨论】:

  • 如果您收到解决问题的答案,您可以通过accepting it表示感谢。
  • 谢谢 - 我昨晚试过但不知道该怎么做:)

标签: iphone controller scrollview


【解决方案1】:

实际上你正确放置了第一个控制器,然后你将第二个放在它上面。

settingsController.view.frame = CGRectMake(0.0f, 0.0f, 960f, 640f);
  1. 960x640 - 这不是输入坐标的正确方式(320x480 是实际大小)双倍大小仅用于图像文件
  2. 0.0f, 0.0f 表示 x: 0, y: 0,所以在第二个控制器中你需要 x: 320, y: 0

那么,你必须设置scrollView的contentSize

scrollview.contentSize = CGSizeMake(320*2, 480);

然后开启scrollView的分页;

scrollview.pagingEnabled = YES;

这应该可行:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-06
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2011-02-23
    • 2011-05-04
    • 2014-04-07
    相关资源
    最近更新 更多