- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道我可能会因为没有正确阅读 HIG 或某些文档而受到指责,但是在观看了几个培训视频并在 iPhone 上构建了一些小项目之后,我现在正在尝试将东西放在 iPad 上而且,好吧,我的大脑很痛。
我理解 iPhone 上的想法,一个 View = 一个屏幕,一个 View = 一个 View Controller 。但是现在我正在处理一个可以同时显示多个内容的硬件,我真的不明白我应该如何使用它。
我将给出的示例是我正在进行的当前项目......我已经为不同的内容屏幕(启动画面、菜单、文章 View 等)组合了一堆不同的 View Controller 。但随后一些屏幕共享了内容。例如,菜单和文章屏幕都有一个菜单栏(如工具栏),从屏幕顶部向下滑动并提供导航。另外,我有一个导航元素,它应该从屏幕底部向上滑动以导航到不同的文章。这些是我在许多其他 iPad 应用程序中看到的东西(有线是一个例子)。
但是我不应该一次在屏幕上放置多个 View Controller ,是吗?不仅如此,如果我这样做了,那么自动旋转功能就会开始变得有点精神。但是,如果我将所有内容都放在一个 View Controller 中用于一个屏幕,我最终会得到 1,000 行代码,其中大部分需要复制粘贴到其他 View Controller 中。对我来说似乎是一个非常丑陋的解决方案。
所以我显然做错了什么......但我该怎么办?即使有人可以指出我应该阅读的信息的方向,我也会非常感激。
谢谢!
:-乔
最佳答案
您不会被禁止一次显示多个 View , View Controller 只是驻留在内存中的 View 管理器。
您可以创建自定义 View Controller 来管理您的 View Controller 。将其视为 UINavigationController 或 UISplitViewController。
你有一个 NSMutableArray 的 viewControllers
@property (nonatomic, retain) NSMutableArray *viewController;
/*
Do not use this code in production, its just for the example
*/
- (void)presentViewController:(UIViewController *)controller inRect:(CGRect)rect {
// check if viewcontroller is valid object
if (controller == nil) {
return;
}
// retain the controller
[self.viewController addObject:controller];
// position controllers view in the desired rect
// (in your implementation you might create a zones and use them instead)
controller.view.frame = rect;
// you might want to provide some animation capabilities here
[self.view addSubview:controller.view];
}
关于objective-c - 如何将 iPad View 分成更易于管理的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408558/
我是一名优秀的程序员,十分优秀!