- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果您在理解标题时遇到问题,那么问题就来了。我正在使用 this库在这里,它由 IIViewDeckController
表示。
我用简单的左和中 UIViewControllers
初始化它:
FTPhoneHomeViewController *home = [[FTPhoneHomeViewController alloc] init];
FTPhoneSideViewController *side = [[FTPhoneSideViewController alloc] init];
IIViewDeckController *vdc = [[IIViewDeckController alloc] initWithCenterViewController:home leftViewController:side];
[self.delegate changeRootViewController:vdc];
FTPhoneHomeViewController
和 FTPhoneSideViewController
只是 UIViewController
的子类。最后一行从窗口中删除当前的 rootViewController
并添加 IIViewDeckController
。
现在在 FTPhoneHomeViewController
中,我使用 addChildViewController
方法添加另一个 UIViewController
:
FTTileViewController *tileViewController = [[FTTileViewController alloc] initWithFrame:CGRectMake(5.0, 50.0, 469.0, 310) tileData:[FTTileFaker prepareTileData] defaultTileConfig:[FTTileFaker prepareTileConfigs][0] andTileConfigs:[FTTileFaker prepareTileConfigs]];
tileViewController.tileSpacing = 9.0;
[self addChildViewController:tileViewController];
[self.view addSubview:tileViewController.view];
[tileViewController didMoveToParentViewController:self];
我这样做是因为这个 FTTileViewController
管理一堆图 block ,从架构的角度来看,这个逻辑最好包含在它自己单独的 UIViewController
中。
当我使用 IIViewDeckController
作为窗口中的 rootViewController
时,我在 FTTileViewController
中的 viewWillAppear
事件是没有叫。但它是在 FTPhoneHomeViewController
中调用的!现在,当我不使用 IIViewDeckController
而只是将 FTPhoneHomeViewController
添加为窗口的 rootViewController
时,我的 FTTileViewController
确实获得了 viewWillAppear
事件...
也许这是 IIViewDeckController
的错误,我也应该将其发布到那里。但我不明白我在这里做错了什么。有人对此有任何想法吗?
如果有人可以检查我关于 UIViewControllers
的一般假设:
将 childViewControllers
添加到另一个 UIViewController
并不是将 View 循环方法(如 viewWillAppear
)传递到另一个 的必要条件UIViewController 的
View 。当您使用 addSubview
方法添加另一个 UIViewController 的
View 时,将传递这些事件。但是您可以使用 addChildViewController
方法来获取旋转事件并在您的应用程序中维护 viewController 的
层次结构。
最佳答案
好的回答我自己的问题:
在 IIViewDeckController
中有一些您可以调整的方法:
- (BOOL)shouldAutomaticallyForwardRotationMethods {
return YES;
}
- (BOOL)shouldAutomaticallyForwardAppearanceMethods {
return YES;
}
- (BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers {
return YES;
}
全部返回 YES,它应该可以工作。如果 IIViewDeckController
上没有此 View 包含的属性,也许最好添加它?
关于ios - 未调用 IIViewDeckController 的中心 viewController 的 childViewController 上的 viewWillAppear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18397636/
我在 iOS/Swift 中遇到 childViewController 的多级层次结构问题。当前设置从最低到最高分为三层: InfoViewController SelectionViewContr
我已添加一个 View 作为 ChildViewcontroller,并且我只想在 ChildViewController 中关闭它并转到上一个 ViewController 来自 ParentVie
我有一个来自 Realm 的对象,我将每个控件分配给对象,我想要的是将每个 childVC 上分配的每个对象传递给下一个 childVC。 我在 UIPageViewcontroller 上初始化了该
我有一个看起来像这样的父/ subview Controller 系统 -- (Parent) RootViewController -- (Child) ChildController
最新更新:我创建了一个全新的项目,其构建方式与下面完全相同。然而,这个测试项目实际上工作得很好,即使它看起来是一样的......我注意到的一件事是损坏版本中的父 View Controller 正在接
我尝试实现左侧面板,但是当我实现时,它似乎除了容器之外不会显示任何内容。 下面是我的代码: override func viewDidLoad() { super.viewDidLoad()
我有一个继承自 BaseViewController.swift 的类。我已经为核心数据更改跟踪定义了一个标志: var coreDataUpdated: Bool? 我还在 BaseViewCont
我有一个 pageViewController (UIPageViewController),它有一个 subview Controller (名为 soundPlayer)。声音播放器有静态 AVA
我在 UICollectionViewController 上有一个 childViewController。我有所以我的 childViewController 出现在屏幕上。但是当我注册一个单元格
我在我的 iOS 应用程序中创建了一个汉堡包菜单。 我的 rootViewController 中有一个 navigationBar 但现在我需要将 navigationBar 移动到我的 child
好吧,希望我能解释得尽可能清楚。 我有一个 Parent ViewController,它有一个 ContainerView,它将包含不同的 viewControllers/Class。我正在像这样在
我有一个 View Controller ,其中有一个按钮和一个窗口。 按下按钮,窗口中的 View 应该改变。 窗口中的 View 是另一个 ViewController 及其 View 。 当按下
我正在使用 XLPagerTabStrip在 Swift 4 中创建一个基于类别的阅读应用程序。我了解到可以使用以下函数轻松创建静态数量的 ViewController。 override func
在实现与 subview Controller 连接的 View 容器时,我偶然发现了一个奇怪的问题。 层次结构如下: 我有一个 UISplitViewController,在 MasterViewC
我有一个 ViewController,它有添加按钮,该按钮将在屏幕右侧打开 SideBarVC。如果我再次点击主 ViewController 屏幕,它应该关闭我的 SideBarVC。 我试过了
我在我的 MainViewController 中放置了一个容器。然后在该容器内添加FirstViewController let containerView = UIView() view.addS
我有一个 ViewController,我可以像这样在其中添加许多 child : [self addChildViewController:myViewController]; 在此
这个问题在这里已经有了答案: Passing data between view controllers (45 个答案) 关闭 8 年前。 我有 2 个 View ,ParentViewContr
我正在尝试在 iPad 上从使用 UIPopoverController 切换到 ChildViewControllers。我们有 4 或 5 个 VC 在父导航 subview Controller
我有一个 UIPageViewController,它有三个 childViewController。这些 childViewControllers 正在显示图表,每 5 秒使用从网络连接获取的动态数
我是一名优秀的程序员,十分优秀!