我在Apple的开发人员文档中找到了一个分页UIScrollView
的示例,这正是我想要的应用程序。我有一个带有“帮助”按钮的主视图,我想呈现一个用户可以翻阅以查看所有帮助主题的视图。样本位于:
它的工作方式与宣传的一样,但是,正如许多Apple的例子一样,他们在AppDelegate
中执行各种代码。我有自己的AppDelegate
,但我有一个NavigationController
,其中RootView
上有“帮助”按钮。我似乎无法将示例代码集成到我自己的代码中并使其工作。我很确定我不能将他们所拥有的代码放在我自己的AppDelegate
中,但是如何设置它会使我失望。
有人能指出我做他正在谈论的事情的例子吗?
编辑:通过将所有AppDelegate
方法移动到模板提供的UIViewController
并创建新的ContentPage
,我能够创建一个新项目并让它像Apple一样工作UIViewController
保留内容。它可以在页面之间滚动,所以我想我可以将这段代码插入我的其他项目中。
我将applicationDidFinishLaunching
替换为等效的viewDidLoad
,并删除了处理AppDelegate
等的window
内容。然后我更改了Apple的initWithPageNumber:
方法以引用我的帮助页面,而不仅仅是创建其通用视图的实例。
- (id)initWithPageNumber:(int)page {
NSLog(@"--initWithPageNumber:ContentPage");
if (self = [super initWithNibName:[NSString stringWithFormat:@"HelpPage%d", page] bundle:nil]) {
pageNumber = page;
}
return self;
}
感谢您的帮助 - 有时候有人告诉您可以继续这样做,这很好!
答案 0 :(得分:1)
在示例代码中,applicationDidFinishLaunching:
方法设置UIScrollView
(以及UIPageControl
,但暂时忽略它,然后“加载”前两页。 “加载”页面包括将该页面的视图控制器加载到内存中并进行缓存。然后,根据它的“页码”,它将控制器的视图作为子视图添加到UIScrollView
偏移量,并使用适当的x。您应该可以在viewDidLoad
中完成所有操作。
如果在显示视图控制器的视图时有空白视图,则表示尚未将子视图正确添加到UIScrollView
。根据您更改的具体情况,可能是(a)未正确设置x偏移,(b)未正确设置框架,或(c)未正确添加为子视图的某种组合。
如果你发布一些自己的代码,我们可能会对这个问题有所了解。