Tag: 容器

在Swift 3 iOS中向前游泳时,在UIPageViewController中调用After和Before方法

我用数据源数组做了UIPageViewController,它工作正常。 但是在向前和向后滑动方向转接呼叫时, 我的代码在这里: import UIKit class MainPageViewController: UIPageViewController,UIPageViewControllerDataSource { override func viewDidLoad() { super.viewDidLoad() self.dataSource = self initUPageVC(idx:0,isAnimate:false,direction: UIPageViewControllerNavigationDirection.forward) } func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { //PRIVIOUS let pageContent: MainPageContentViewController = viewController as! MainPageContentViewController var index = pageContent.index if ((index == 0) || (index == NSNotFound)) { return nil } index […]

获取容器VC而不是视图

我有点困惑容器如何工作。 我有容器: 而我尝试在我的MainViewControllerpipe理这个。 但是,当我控制 – 拖到我的.h文件我越来越 @property (weak, nonatomic) IBOutlet UIView *liveContainer; 为什么这是一个UIView类? 这意味着这是self.view我的BaseButtonContainerView ? 但我有BaseButtonContainerViewController ,并在debugging中,我看到viewDidLoad被调用。 我可以从MainViewController访问BaseButtonContainerViewController方法吗?

Xcode将子项添加到容器视图

对不起,如果这个答案是明显的 – 它不是我,我似乎无法find一个简单的答案search。 我创build了一个容器视图控制器,默认情况下带有一个孩子。 我想在故事板中添加第二个(和第三个)子节点,但是我可以看到如何将新的View Controller与Container View Controller连接起来。 任何人都可以build议吗? 非常感谢

如何在自定义容器视图控制器中实现交互式转换

我实现了自己的自定义容器视图控制器,并试图使其与iOS 7视图控制器转换兼容。 我让我的自定义容器视图控制器符合UIViewControllerContextTransitioning和我发送self当我呼吁transitionDuration:和animateTransition: 只要我只使用animation过渡,这一切都可以正常工作。 现在我想让它与交互式转换一起工作,所以我调用交互控制器的startInteractiveTransition:而不是animation控制器的animateTransition:再次使用self作为参数。 但是,如果我使用UIPercentDrivenInteractiveTransition作为交互控制器,则会在我的上下文(它是容器视图控制器本身)上调用_animator方法。 当然,我还没有实现这个私有的和无证的方法,所以它崩溃了… 我在执行中丢失了什么? UIPercentDrivenInteractiveTransition是否仅与Apple类兼容,因为它使用了一些实现魔法(因为它需要所有东西都应该放在UIViewanimation块中)? 文档和头文件看起来像我们可以实现我们自己的容器视图控制器,并仍然使用自定义转换,但这是真的还是只是一厢情愿的想法,因为没有人会真的这样做? 如果我不能使用UIPercentDrivenInteractiveTransition ,那么交互/animation逻辑究竟应该在哪里? 在UIViewControllerTransitionCoordinatorContext对象? 在UIViewControllerInteractiveTransitioning对象(最有可能的是,这个对象是驱动程序…)? 或者在UIViewControllerAnimatedTransitioning对象(这可能是真正的animation应该发生的地方,但是这意味着在交互过程中多次调用animateTransition: ?或者为交互式转换的每一步添加新的方法?) 编辑:文档说: 一个由百分比驱动的交互式转换对象驱动一个视图控制器消失和另一个视图控制器外观之间的自定义animation。 它依赖于一个转换animation代理(一个采用UIViewControllerAnimatorTransitioning协议的自定义对象)来设置和执行animation。 没有UIViewControllerAnimatorTransitioning协议。 假设这是一个错误,或者在iOS 7开发过程中发生了名称变化,实际上是UIViewControllerAnimatedTransitioning协议,那么我们如何将交互控制器与animation控制器相连? 我想这是视图控制器驱动转换的责任,但我没有看到任何API来做这个链接,所以这将意味着UIPercentDrivenInteractiveTransition确实为Apple类保留?

在Storyboard中制作的容器视图不会以编程方式更改框架

我有一个容器视图, @property (weak, nonatomic) IBOutlet UIView *containerView; ,但是当我设置它的框架时它不会移动。 这是我如何尝试: – (void)setFramesForCategories { CGRect frame = _containerView.frame; frame.origin.x = 20; frame.origin.y = self.view.frame.size.height – 52; frame.size.width = 236; frame.size.height = 60 * [[_dataDict objectForKey:@"Key"] count]; _containerView.frame = frame; } 我知道这是基本的,并且在我以前以编程方式创build的对象时,它已经为我工作,但它现在不适合我。

在iOS中,使用故事板,如何在容器视图中设置视图控制器?

我创build并绘制了一个名为AutocompleteVC的自定义UIViewController在我的主要故事板。 AutocompleteVC将用于几个不同的地方/故事板和不同的尺寸。 例如,在我的Transit故事板中,如下所示,有一个名为TransitVC的自定义UIViewController,如左图所示。 在TransitVC中,我有一个名为autocompleteContainerView的IBOutlet的容器​​视图。 autocompleteContainerView有一个名为autocompleteEmbedSegue的segue,它是一个通用的UIViewController,显示在右边的红色。 目标是让TransitVC在autocompleteContainerView中保存AutocompleteVC。 但是我很难让这个工作。 我想在容器视图中执行此操作的原因是我可以使用autolayout来设置约束。 否则,我知道如何纯粹在代码中做到这一点。 我相信我的做法可能有缺陷。 如果我想最大化故事板使用率,那么做到这一点的正确方法是什么?