问题标签 [uicontainerview]

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.

0 投票
2 回答
2041 浏览

ios - Container View 中的 UINavigationController:在表格视图单元格上推送 segue 什么都不做

我有一个容器视图,它嵌入了一个导航控制器(UINavigationController),它的根视图是一个 UITableViewController。一个原型单元在选择另一个 UITableViewController 时具有推送序列。这都是通过 XCode 5 中的情节提要完成的。没有实际代码。

Unfortunately nothing happens when the cell is selected.

我错过了什么?

谢谢

0 投票
1 回答
525 浏览

ios - UIContainerView 调用父方法

我是一个非常新的 iOS 开发者,需要你的帮助。

我有一个简单的应用程序,由:

1个视图控制器,包含

  • 3 UIContainerView,每一个都链接到自己的视图控制器和类
  • 一个视图(玩家)

这是我的故事板的图像,因此更容易理解: 在此处输入图像描述 =>我需要 10 个代表将图像作为图像发布

我想要的是,当我单击“视图控制器搜索”内单元格上的播放按钮时,它会从父(主?)视图控制器调用一个方法或函数,包括要播放的文件的 url。

我已经对播放按钮进行了操作,我已经找到了如何从中获取 url 并使用 NSLog 打印它,所以这部分一切都很好。我唯一的问题是找到一种通过发送 url 与主视图进行通信的方法。

如果希望我足够清楚,谢谢您的时间。

0 投票
1 回答
89 浏览

ios - 如何设置 ContainerViewController 框架?

我有具有两个 childviewcontrollers 的 ContainerViewController。因此,我使用 segues 调用要显示的子视图控制器。我的问题是 childviewcontroller 的大小不同,所以我遇到容器视图大小的问题。我没有使用 Autolayout。

0 投票
1 回答
255 浏览

ios - iOS Container ViewController 数据流

我的目标是以两种不同的方式显示经销商位置:地图和表格视图。

我有一个容器视图控制器 (DealersViewController),它包含两个子视图控制器:DealersMapViewController 和 DealersListViewController。用户可以通过放置在导航栏上的 UISegmentedControl 在 VC 之间切换。点击地图注释或表格视图单元将推送 DealersDetailViewController。

切换已经实现(在 Segmented Control 发生变化时使用来自改变视图控制器的代码)并且似乎工作正常,细节的推送也是如此。

我想改进的是容器和孩子之间的数据流。经销商位置从 Internet 下载 (JSON) 到父节点中,完成后在地图 VC 和列表 VC 上设置 NSArray *locations 属性。该数组将包含由 AFNetworking 自动创建的字典对象,每个对象都有位置数据(每个位置字典都有一个标题、副标题、纬度、经度以符合 MKAnnotation 协议,还有其他内容,如图像和描述等)。

我的问题是:我如何确定容器 VC 和两个子 VC “同意”位置数据的结构?从理论上讲,如果有人想开发另一个子视图控制器以添加到我的容器中,例如在集合视图中显示经销商位置,他怎么能正式知道如何期望数据。苹果说:“如果容器需要子声明方法或属性,它应该定义一个协议来强制执行:”。我可以强制孩子声明位置属性,但数组可以包含任何东西……

也许父母可以成为孩子的数据源?我还没有尝试过这种方法。

我可能把事情复杂化了,但我的目标也是学习如何正确创建可重用的组件,并练习使用自定义协议/委托和设计模式等东西。

谢谢。

0 投票
1 回答
186 浏览

objective-c - UITableView 嵌入 UIContainerView 单元格重用

我有一个启用滚动的 UITableViewController,嵌入在 UIContainerView 中。在 tableview 中有一个自定义 UITableViewCell ,其中有一个 UIImageView ,当您在 tableview 中选择多个单元格之一时,我获取索引路径并将所选单元格的图像视图设置为显示一个刻度。表格视图由数组中的多条数据动态填充。简单的。

问题是,因为 tableview 比在容器视图中可见的要长,似乎索引路径仅适用于可见内容。这意味着它将具有相应索引路径的单元格设置为带有刻度的可见单元格。

假设五个单元格可见,则选择第四个。你再往下走五个单元格,并且在应该是第十个单元格的地方打了一个勾,但从技术上讲,它是不可见内容的第五个单元格。我认为这与细胞重复使用有关,但我不确定该怎么做。

如何解决这个问题?(代码如下)

0 投票
2 回答
2777 浏览

ios - 我怎样才能圆容器表视图的角落?

我有一个主视图控制器。它包含一个表格视图控制器(在容器中),我想完善表格视图,使其显示类似于 facebook 登录。

我在 viewDidLoad 的子视图控制器(这是一个 tableview 控制器)中使用的代码:

结果 :

如您所见,当该字段被选中时,角落看起来是圆的,但空白仍然存在。即使没有选择,我怎样才能使它们四舍五入?

使用:XCODE 5,IOS 7

0 投票
0 回答
155 浏览

ios - 应用约束时,具有自由形式的容器视图不会调整大小

我目前正在为我的项目(721 * 1024)使用容器视图,并且我有一个端到端的图像视图,高度为 44。如果我对该图像视图应用约束,它会在普通 iPad 视图中正确调整大小即 768*1024 但如果我使用自由形式的容器视图并应用相同的约束,它不会重新调整大小。我究竟做错了什么?谢谢。

0 投票
1 回答
190 浏览

ios - 为什么自动布局不适用于容器视图

我目前在我的应用程序中使用容器视图,但我在视图的自动调整大小方面遇到了一个奇怪的问题。这是我正在构建的演示应用程序的快照。

下图显示了我为正常 iphone 视图大小的正常视图所做的操作。

此视图使用我添加的约束正确调整大小。

在此处输入图像描述

现在在这里我使用一个大小为 150*280 的容器视图,并使用了与上面相同的约束。

在此处输入图像描述

在这里,它显示了纵向视图的快照,在导航器中没有问题。 在此处输入图像描述

但是当我改变方向时,它会给出以下警告。

在此处输入图像描述

我该如何解决这个问题?谢谢

0 投票
0 回答
3212 浏览

ios7 - iOS 7:使用 UINavigationController 作为子视图控制器的自定义容器视图控制器

我想编写一个自定义的全屏容器视图控制器,目的是将 UINavigationController 作为子视图控制器放入其中。UINavigationController 的视图将填满容器视图控制器的视图,因此它看起来就像 UINavigationController 是根视图控制器。(比如说,创建由 Facebook 普及的滑动侧边栏菜单 UI。)

我所做的工作除了在呈现另一个视图控制器时出现故障,当 iPhone 处于横向时隐藏状态栏。通常,导航栏在状态栏消失时向上滑动,在再次出现时向下滑动。相反,导航栏在它应该向上滑动时停留在原位,当它应该向下滑动时,它首先与状态栏重叠定位,然后跳转到状态栏下方的正确位置。基本上,我试图让 UINavigationController 的行为与它不在自定义容器视图控制器内时一样。

下面是一些您可以运行以查看问题的代码,但如果您不想这样做,只需查看ContainerViewController类,它实现了一个最小的自定义容器视图控制器。导致此问题的自定义容器视图控制器中缺少什么?当我使用 UITabBarController 作为容器视图控制器时它可以工作,所以看起来我只是在我的实现中遗漏了一些东西。

如果您愿意,可以阅读以下更多内容

如果您想运行示例代码来查看问题,这里有一个概述。AppDelegate中定义了一个名为MODE的预处理器定义,以三种方式有条件地编译应用程序。

  • MODE == 1时,ViewController位于 UINavigationController 中。然后您可以按“Present”按钮来展示ViewControllerWithStatusBarHidden,然后您可以按“Dismiss”按钮来关闭此视图控制器。应用程序的这种模式显示了我正在寻找的行为。

  • MODE == 2时,除了 UINavigationController 位于ContainerViewController内部之外,我们与MODE == 1中的情况相同。该应用程序的这种模式显示了我目前的不良行为。

  • MODE == 3时,除了 UINavigationController 位于 UITabBarController 内部之外,我们与MODE == 1中的情况相同。该应用程序的这种模式表明可以获得我正在寻找的行为。

同样,要查看问题,只需在 iPhone 处于横向时按“呈现”按钮,然后按“关闭”按钮。

代码

四类:

  1. 容器视图控制器
  2. 应用委托
  3. 视图控制器
  4. ViewControllerWithStatusBarHidden

ContainerViewController.h

容器视图控制器.m

AppDelegate.h

AppDelegate.m

视图控制器.h

视图控制器.m

ViewControllerWithStatusBarHidden.h

ViewControllerWithStatusBarHidden.m

0 投票
2 回答
4026 浏览

ios - ParentViewController 正在变成 nil ,不知道在哪里以及如何

我正在尝试制作一个应用程序,第一步是创建 viewControllers 并链接它们。我知道我可以使用故事板和 sueges 来做到这一点,但我想用老派的方式来做——通过编码,即

它包含 4 个视图控制器

使用ContainerViewController(4th viewController) (我编写的自定义容器) 管理三个视图控制器。currentSubViewController跟踪当前显示的viewController

所有三个 viewController 都是从 .nib 创建的

  • 主页有 2 个按钮“设置”和“规则”
  • 设置有 2 个按钮“主要”和“规则”
  • 规则有 2 个按钮“主要”和“设置”

启动时:

currentSubViewController 设置为 MainViewController 的一个实例,然后

使容器成为 currentSubViewController 的父级。

并且主页显示没有任何问题

启动后按“设置按钮”

MainViweController 中的 IBAction 被调用

然后showViewControllerWithName ofContainerViewController被称为

SettingsViewController出现

在按下“主”按钮时SettingsViewController

SettingsMainController 中的 IBAction 被调用

但是 ParentViewController 在这里为零,因此没有显示任何内容。SettingsViewController 是来自上一步中的函数调用的 toVC showViewControllerWithName

介于showViewControllerWithName()OnMain()之间的某个地方parentViewController被设置为nil。我检查到 viewDidAppear 并且 parentViewController 直到那时才为零。

我的问题是

  1. 在哪里parentViewController设置为零?
  2. 要调试此问题,我想知道之后调用了哪些其他内部函数viewDidAppear
  3. 使用工厂类创建新的 UIViewControllers 会产生问题吗?
  4. 是否正在创建实例并且显示的实例不同?尽管我在调试器中检查了内存地址,但它是相同的

我无法解决这个问题。我尝试了一种非常hacky的方式,我在派生类中跟踪父级,即使然后transitionFromViewController:抛出一个异常说两个视图控制器应该具有相同的父级。

我被困在这个问题上将近两天了。我真的很感激一些帮助。