问题标签 [parentviewcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 委托并从 childViewController 传回数据
我已经为此苦苦挣扎了几天,并在途中得到了宝贵的帮助,所以我做了一个最简单的项目,以减少它成为错字的可能性。我的所有项目都是一个 ViewController,它包含一个连接到 childViewController 的容器视图。“父” ViewController 被设置为 childViewController 的委托。在孩子的 viewDidLoad 中,我传递的值只是一个字符串。此字符串应传递给父级并打印在控制台上。这是文件。
视图控制器.h
视图控制器.m
ChildViewController.h
ChildViewController.m
我是否认为当应用程序启动时,控制台应该记录以下消息:“这是我的值:你好”。我在逻辑上没有获得授权方面做错了什么,还是只是某个地方的愚蠢错字?发送
objective-c - 传递数据和委托
我有一个关于代表团的问题。我对编程还很陌生,我刚刚管理了我使用委托的第一个练习项目。它就是一个父视图控制器,它调用一个子视图控制器,其中有一个文本字段和一个按钮。我在该文本字段中写了一些东西,按下按钮,子 VC 被关闭并将文本传回。然后它会显示在父级的标签中。我有几个动画过渡。这一切都有效。先上几张图和代码:
这是我的父视图控制器:
单击按钮,出现子项:
在文本字段中写一些东西,然后按按钮将其传回:
数据显示在父视图控制器的标签上。
以下是相关文件:
父视图控制器.h
父视图控制器.m
ChildViewController.h
ChildViewController.m
关于代码,有几件事我不确定,因为我正在学习我复制了很多代码等......所以例如我不确定如何使用相同的方法为子控制器设置动画就像我曾经在其中设置动画一样,或者它是否重要以及最佳实践是什么等等......另外,我在控制台中收到一条奇怪的消息:“Interface Builder 文件中的未知类 ViewController”。但它有效,所以我不确定它为什么在那里。作为记录,我没有使用故事板,只有 xibs。
不过,我的问题如下:我希望有一个按钮来关闭子视图控制器,而不是在子视图控制器中,而是在父视图中,如下所示:
这就是我迷路的地方。我只是不知道如何触发从父视图控制器传回数据的方法。任何人都可以帮忙吗?非常感谢
ios - 从子 ViewController 偏移 UIScrollView
我目前有一个 UI 类似于 Snapchat ScrollView 的应用程序。MainViewController 包含一个 UIScroll,其中添加了三个子 ViewController 作为子 ViewController:
我试图在中间的 ViewController 中添加两个按钮,这会将 ScrollView 偏移到左侧或右侧的 View Controller 上。我知道我可以在 MainViewController 中使用 setContentOffset(),但我不能在子视图控制器中调用它。self.presentingViewController 和 self.parentViewController 都返回 nil。
在子 ViewController 中为 UIScrollView 调用 setContentOffset() 的最佳方法是什么?
ios - 如何在 childViewController 中获取 parentViewController?
我有一个 mainUIViewController
并命名为AddInformationController
. 在这mainViewController
我有两个UIContainerView
. 他们每个人都嵌入了一个UITableViewController
. 表视图控制器被命名为InformationSegmentController
和ResultSegmentController
。
我把这个放在AddInformationController
:
在InformationSegmentController
课堂或ResultSegmentController
课堂上,我试图记录这个:
NSLog(@"%@",self.parentViewController);
但不幸的是,它是零。如何正确获取 parentViewController?我必须使用prepareForSegue
吗?
// 问题更新:
addChildViewController
我发现如果我直接在我的故事板中创建这些 childViewControllers ,我不必再次调用方法。
我试图NSLog(@"%@", self.childViewControllers)
在我AddInformationController
的结果中包含InformationSegmentController
类和ResultSegmentController
类。
但问题是当我调用NSLog(@"%@", self.parentViewController)
两个 childViewContorllers 时viewDidLoad
,结果为零。
swift - iOS - 如何通过子容器设置父视图控制器的图像视图?
我目前正在使用容器视图,我想使用委托通过子视图控制器更改父视图控制器 imageView 的值,但它总是返回nil
.
swift - 关闭模态并返回到 containerView 中呈现的 childViewController
我在关闭容器视图中的 childviewController 呈现的模态视图时遇到了一些问题。我有一个 UINavigationController 作为 rootViewController (MainNavigationController),并从 selectedSegmentIndex 1 (secondViewController) 中的一个 childViewControllers 中呈现一个模式。模态显示得很好,但是当我关闭模态返回到 secondViewController(HomeController 的子类)时,它会将我返回到 selectedIndex 0,而不是从中呈现的 selectedIndex 1 childViewController。我希望模态关闭并将用户返回到从(第二个视图控制器)呈现的 childViewController,而不是返回到 selectedIndex 0。提前致谢!
// NavigationConroller 作为 rootViewController
// HomeController 作为 parentViewController
// containerView 中的 secondViewcontroller 模态显示的地方
// 要关闭的模态视图
swift - 快速从父控制器中删除并完成
我知道在 Swift 中,当关闭视图控制器时,我可以选择在完成块中运行一些代码。IE
从其父视图控制器中删除视图控制器时可以这样做吗?我正在运行以下代码:
完成后我想打个电话。谢谢!
ios - 视图未显示另一个 ChildViewController 的 childViewController
我遇到了 iOS/Swift 中 childViewControllers 的多级层次结构的问题。当前设置从最低到最高分为三层:
InfoViewController
SelectionViewController
MainViewController
InfoViewController
有一个从 XIB 加载的视图。
SelectionViewController
包含 aUIStackView
和InfoViewController
a UIButton
。
MainViewController
是顶级 VC,通常嵌入在UINavigationController
.
问题
当我添加它时InfoViewController
,它的视图直接对MainViewController
一切都很好。
但是,如果我使用相同的方法添加SelectionViewController
到MainViewController
,嵌入式InfoViewController
不会更新它的 UI - 它总是看起来像它正在控制的未触及的 XIB 文件。当它没有嵌入时,它SelectionViewController
的行为符合预期。
如下所示,UI 是可见的,但是通过询问它的 ViewController 对其所做的任何更改都不会显示 - 它看起来与创建它的 XIB 文件完全一样。
下面是从 BasicInfoView 开始的类设置,然后是上面列出的三个 viewController。
基本信息视图
基本信息视图控制器
选择视图控制器
一些不相关的代码已被删除
笔记
请注意,在实践中,BasicInfoViewController 和 SelectionViewController 都是子类。例如,我有一个 ContactInfoViewController,它可以传递一个 Contact 对象并显示全名、公司名称和照片(如上所述,这很好用)。还有一个 SelectionViewController 的子类来补充这一点:ContactSelectionViewController。ContactSelectionViewController 也有一个 Contact 对象属性,该属性可以被分配,然后传递给嵌入式 ContactInfoViewController - 这是不显示数据的点。我在下面包含了这些子类以供参考。
ContactInfoViewController
同样,当直接放置在 MainViewController 中时,它可以完美地工作。
联系人选择视图控制器
此 VC 功能正常,但嵌入的 ContactInfoViewController 不显示数据。出于某种原因,ContactInfoViewController 中的视图在嵌入到此控制器中时并未使用数据进行更新。
ios - 如何在父视图控制器和子视图控制器之间传输数据
我曾尝试查看与此类似的问题的答案,但我不是特别有经验,并且在关注它们时遇到了麻烦,因此非常感谢任何帮助!我的情况如下:当我在Parent ViewController中按下一个按钮时,下面的代码用于调用一个Child ViewController(顺便说一下,Child实际上是一个TableViewController,但它似乎工作正常“认为”这是一个正常的视图控制器?):
然后我想要将一个数组从父级传输到子级,它将用作 TableView 的数据?
其次,当我从 Child 的 TableView 中选择一个单元格时,我希望将相关信息发送给 Parent,并让 Child 消失。
如果有兴趣,我已经设法在不同的情况下关闭子项(当显示子项时在父项中发生点击时),使用以下方法:
我真的很感激任何建议,即使它是指向有用的东西的链接!