当前位置: 首页 > 面试题库 >

如何使用Swift在iOS中从右到左显示视图控制器

鲍健柏
2023-03-14
问题内容

我正在使用presentViewController呈现新屏幕

let dashboardWorkout = DashboardWorkoutViewController()
presentViewController(dashboardWorkout, animated: true, completion: nil)

这将显示从下到上的新屏幕,但我希望不使用即可从右到左显示UINavigationController

我使用的是Xib而不是情节提要,该怎么办?


问题答案:

是否使用xibstoryboard正在使用都没有关系。通常,当您将视图控制器推入Presentor时,使用从右向左过渡UINavigiationController

更新

新增计时功能 kCAMediaTimingFunctionEaseInEaseOut

示例项目与 斯威夫特4
实现加入GitHub上

迅捷3和4.2

let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.push
transition.subtype = CATransitionSubtype.fromRight
transition.timingFunction = CAMediaTimingFunction(name:CAMediaTimingFunctionName.easeInEaseOut)
view.window!.layer.add(transition, forKey: kCATransition)
present(dashboardWorkout, animated: false, completion: nil)

对象

CATransition *transition = [[CATransition alloc] init];
transition.duration = 0.5;
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromRight;
[transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[self.view.window.layer addAnimation:transition forKey:kCATransition];
[self presentViewController:dashboardWorkout animated:false completion:nil];

斯威夫特2.x

let transition = CATransition()
transition.duration = 0.5
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight
transition.timingFunction = CAMediaTimingFunction(name:kCAMediaTimingFunctionEaseInEaseOut)
view.window!.layer.addAnimation(transition, forKey: kCATransition)
presentViewController(dashboardWorkout, animated: false, completion: nil)

在自定义转换的情况下,方法中的animated参数presentViewController似乎并不重要。它可以是任何值,true或者false



 类似资料:
  • 我试图将一个视图从右向左滑动,点击一个按钮,它的可见性就消失了,点击另一个按钮,它的可见性就消失了。我尝试了以下解决方案。但是它要求视图是可见的,并且它会将视图从一个位置滑动到另一个位置。我想要一个滑动效果,就像那样,但是要有。我怎样才能做到这一点?

  • 我读过segues上的其他帖子,但没有一篇能解决我的问题。 简单地说,我的ViewController就像一本书一样被订购。我希望从左到右的向后过渡(例如:从第9页到第8页)始终存在(滑动)。我想从右到左向前过渡(从第9页到第10页)。 是的,如果您一页接一页地分页,我的导航控制器后退按钮(左上角)会显示为这样。但是,如果您从索引跳入,那么导航控制器上的后退功能会将您带回索引。 我的目标是,如果用

  • 场景:用户点击视图控制器上的按钮。视图控制器是导航堆栈中的最顶层(显然)。tap调用在另一个类上调用的实用程序类方法。那里发生了一件坏事,我想在控件返回视图控制器之前在那里显示一个警报。 这在中是可能的(但可能不太合适)。 在这种情况下,您如何呈现一个,就在中?

  • 我有一个导航视图控制器,它会在操作时向选项卡栏视图控制器发送一个序列。因此,选项卡式视图控制器继承了导航栏。我正在尝试将标题应用于连接到选项卡栏视图控制器的其中一个视图控制器,但通过代码设置标题对我不起作用。有人知道为什么会这样吗? 这是我的故事板的图片: 带有注销按钮的视图控制器是我试图在导航条(代码)中设置标题的地方: 导航控制器中嵌入的视图控制器触发到选项卡栏控制器的顺序:

  • 图一: 图二: 图一是实现的矩形树图, 图二是目标的矩形树图, 使用Echarts实现的, 默认是根据值大小从上到下的, 如何设置成图二那种从左到右呀

  • 问题内容: 我有3个称为的视图控制器。我有一个集合视图,它将水平滚动。如果我选择我的我的我的我的子画面WIL DISPLY 。它同样为过。没关系 。 现在,我需要一种功能,例如,如果我在选择任何单元格时滑动我的所有视图控制器,它将具有所有视图控制器。我需要向左或向右滑动。 例如 : 如果我参加的话,我会被 选中 。现在,如果我从右向右滑动,我必须要刻薄,而第二个集合视图单元也必须 我不知道如何申请