问题标签 [uikit-transitions]

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 投票
0 回答
420 浏览

uiview - 为什么 UIKit 在自定义转换期间将 UIViewController 的 UIView 框架重置为“全屏”?

我正在使用自定义转换在被调用时将视图控制器滑出屏幕 2/3,- presentViewController:animated:completion:并在被调用时再次将其滑回dismissViewControllerAnimated:completion:

我还使用附加到 a 的 UIPercentDrivenInteractiveTransitionUIScreenEdgePanGestureRecognizer来滑动视图控制器。

一切正常,除了调用dismissViewControllerAnimated:completion:, 之前:

被称为滑出屏幕的视图控制器的框架设置为:

导致它在动画运行之前暂时“闪烁”,并从屏幕外的 2/3 滑回全屏。

通过在视图控制器上对 UIView 进行子类化,我可以在其中设置一个断点以-setFrame显示该方法:

正在调用-setFrame(0 0; 320 568)

为什么要这样做?如何防止它在动画开始之前设置帧?

0 投票
1 回答
368 浏览

objective-c - iOS7自定义交互过渡,隐藏后退按钮取消时重新出现“...”

我有一个自定义的交互式过渡,需要我隐藏标准的后退按钮。基本上,过渡看起来像是从左到右的推动,而不是我们都熟悉的标准的从右到左的推动。这就是为什么我的后退按钮位于右侧的原因。

从我在取消由 UIScreenEdgePanGestureRecognizer 激活的弹出转换之前和之后拍摄的两个屏幕截图中可以看出,一旦取消转换,后退按钮所在的位置就会出现“...”。

取消转换之前和之后

我目前正在使用

我试过把它放在awakeFromNibviewDidLoadviewDidAppearviewWillAppear方法中,但都没有解决问题。

因此,使用 Reveal.app 的强大功能,我调查了之前和之后的视图层次结构,并看到了这一点:

通过reveal.app查看之前和之后的层次结构

您在图像的每个部分中看到的突出显示的内容似乎在包含隐藏后退按钮的导航栏区域中发生了变化。在它是一个 UINavigationButton 之前,它变成一个带有 UILabel 的 UINavigationButtonItem,它必须是包含“...”的内容并保持这样。

任何帮助将非常感激。我希望这足够详细,可以很好地描述这个问题。

0 投票
1 回答
178 浏览

ios - setBackgroundImage:forState: 动画/过渡?

我正在使用setBackgroundImage:forState:来为各种状态的背景图像着色:

是否有动画/应用淡入/淡出持续时间转换直接到此方法的方法?

0 投票
1 回答
428 浏览

ios - UIViewController 过渡,UIScrollView 到达顶部以启动过渡

我在概念上难以理解实现以下内容的最佳方式:

我在 ViewControllerB 中嵌入了一个 UIScrollview,由 ViewControllerA 提供。

一旦用户滚动到 UIScrollview 的顶部,当他在没有进一步滚动的情况下尝试下拉更多时,我希望这个“拖动”动作下拉并关闭当前的 ViewControllerB,让 ViewControllerA 显示。

一旦到达顶部,如何触发从 UIScrollView 的拖动机制中向下平移 ViewControllerB 的交互式转换?

0 投票
0 回答
153 浏览

xamarin.ios - TransitionDelegate 和 MVVMCross

我正在尝试使用 IUIViewControllerTransitioningDelegate 实现我的自定义视图之间的转换。这是我的 TableViewController

但是当我从核心显示另一个 ViewModel 时,不会调用 GetAnimationControllerForDismissedController 或 PresentingController(当它本身显示时)......

这里有一个单触示例 https://github.com/xamarin/monotouch-samples/tree/master/TransitionsDemo

0 投票
1 回答
319 浏览

objective-c - 使用自定义容器控制器实现自定义转换

我正在尝试在我的 iPhone 应用程序中创建一个自定义容器控制器。我希望这个容器能够实现自定义转换,就像 iOS 7 中 TabBarControllers 和 NavigationControllers 的默认行为一样。我已经成功地能够为我的转换添加自定义动画,但是在添加交互逻辑时遇到了麻烦。

作为过渡过程的一部分,我必须创建一个 TransitionContext。这通常由系统创建,但由于我使用的是自定义容器控制器,因此我创建了自己的符合 UIViewControllerContextTransitioningProtocol 的类。当触发绑定到转换的手势识别器时,我尝试通过调用开始转换:

其中 self.horizo​​ntalSwipeInteractionController 继承自 UIPercentDriveInteractiveTranstion。不幸的是,此时我收到以下错误:

我不明白现在该怎么办。该文档没有提供有关如何使用自定义容器控制器实现自定义转换的示例。

0 投票
1 回答
84 浏览

ios - 如何在所选视图保持原位并淡出的情况下进行视图控制器转换

我有兴趣做一个转换,它是一个标准的推送转换,但是 fromViewController 将在 toViewController 滑动到位时将选定的 UIView 保留在 toViewController 的顶部。我试图在下面模拟这个。

左侧的框代表 UIViews 和第三个(棕色的一个_是被点击的那个。在中间的图中,fromViewController 向左滑动(当 toViewController 滑入时,被选中的 UIView 保持原位并且有一个淡出它的动画。

在此处输入图像描述

我对自定义过渡不太熟悉,但我认为这就是它的完成方式。可能在 Container View Controller 的上下文中,但老实说,不太确定。关于如何实现这种效果的任何想法?我希望当用户点击“返回”按钮时,也可以反向运行效果。

0 投票
1 回答
1134 浏览

ios - 自定义模态表示忽略了 preferredInterfaceOrientationForPresentation

我正在使用 iOS 8 的 UIPresentationController 编写自定义模式演示文稿。呈现的控制器具有首选的界面方向UIInterfaceOrientationLandscapeLeft

在使用 UIPresentationController 呈现此控制器时,它以纵向显示,忽略呈现的控制器的 preferredInterfaceOrientationForPresentation 方法的结果。

呈现视图控制器

呈现的视图控制器

是否可以让 UIPresentationController 考虑到所呈现控制器的首选接口OrientationForPresentation 方法的结果?

0 投票
1 回答
140 浏览

ios7 - 如何为与 iOS8 兼容的 iOS7 进行自定义过渡?

我想为我的视图控制器创建一个自定义转换。我已经开始收集一些关于iOS7. 有人告诉我,这个 API 在iOS8. WWDC 2014的视频 214解决了这一点。

有些人告诉我,他们创建的自定义转换iOS7无法正常工作iOS8(例如,参见此处此处)。

所以我的问题:

您能否提供一些一般性建议和指南,以创建必须iOS7兼容且不会中断的自定义过渡iOS8?我应该特别避免什么?是什么导致转换无法进行iOS8

0 投票
0 回答
285 浏览

ios - iOS 8: Transition from UINavigationController to UISplitViewController, bad animation

I'm trying to animate a transition from a UINavigationController to a UISplitViewController, but the split view controller doesn't draw correctly until the animation is finished. The navigation bars are transparent and their titles are positioned wrong. When the animation finishes, they jump to the "correct" location. I'm using

-transitionFromViewController:toViewController:duration:options:animations:completion

The UISplitViewController has UINavigationControllers for both its master and detail. As it is transitioning in, the navigation bar is dark gray and the title is offset too high. Once the animation finishes, the bar quickly changes color to light gray and the title jumps into the correct place. Here's some example code: