草庐IT

iOS 如何使用 segue 获取对嵌入 Storyboard容器中的 View Controller 的引用?

我有一个Storyboard和一个带有容器View的ViewController。在Storyboard中,我使用“嵌入”segue定义了从容器到另一个ViewController的连接。如何从父ViewController中获取对嵌入式ViewController的引用?我已经创建了对容器的引用,但发现它只是一个UIView这是我正在使用的转场 最佳答案 您必须在主ViewController中实现prepareForSegue并在StoryBoard中指定一个标识符。-(void)prepareForSegue:(UIStory

ios - WatchKit 中的模态 Segue 不调用 contextForSegueWithIdentifier

我有一个带有TableView的InterfaceController。我创建了一个从tableview的单元格到另一个InterfaceController的segue。如果segue类型是“Push”,则会调用contextForSegueWithIdentifier。如果类型是“Modal”,则不会调用contextForSegueWithIdentifier。 最佳答案 没关系。根据文档contextForSegueWithIdentifier仅在PushSegue上被调用。我需要使用-(void)table:(WKInte

ios - 如果我使用 prepareForSegue 传递数据,则无法嵌入导航 Controller

我正在开发一个自定义相机应用程序,我在其中以模态方式呈现3个viewControllers。在每个segue中,我使用prepareForSegue函数传递数据。我的问题是在使用相机完成工作后,我需要再显示2个viewController,它们需要位于navigationController中。我意识到如果我不传递任何数据,导航Controller工作正常。但是,当我传递数据时,应用程序会在运行时崩溃。这样做的正确方法是什么?这是我准备的segue函数;overridefuncprepareForSegue(segue:UIStoryboardSegue,sender:AnyObjec

iphone - iOS 7 错误警告 : Attempt to dismiss from view controller <UINavigationController: 0x1568db40> while a presentation or dismiss is in progress

我在iOS7中遇到的问题在iOS6中没有出现。我有一个导航Controller显示另一个导航Controller来添加员工。第二个Controller以模态方式呈现。当我使用“取消”或“完成”按钮关闭第二个Controller时,出现错误。这是错误:QuickSchedule[880:60b]Warning:Attempttodismissfromviewcontrollerwhileapresentationordismissisinprogress!我正在使用unwindsegue并使用以下相关代码从第一个Controller中解雇。这是在ScheduleViewControlle

ios - 嵌入式 segue 中未调用 prepareForSegue

我在ViewController的容器中嵌入了一个TableViewController。在View和TableViewController的prepareForSegue方法中,我都输入了NSLog(@"nameofthecontroller")我看到了ViewController的日志,但没有看到TableViewController的日志。我不应该也看到TableView的prepareForSegue的nslog吗? 最佳答案 确切地说-正如Greg解释的那样,嵌入类型的转场是仅在设置期间调用!这很令人困惑。可以这么说“pr

iOS - 是否可以使用其展开操作方法中的代码中止展开转场?

在我的unwindsegue的unwind操作方法中,我将数据发送到远程数据库,它会验证信息是否已成功存储在数据库中。我计划让我的验证函数返回0或1,以表示成功或失败,并且我计划将其用作条件。我很好奇是否有办法在unwind操作方法中中止unwindsegue?(或者我是否应该在展开转场开始之前进行此验证,以防止展开转场以某种方式开始?)我已经读过iossegue"cancel"但我不知道他们说要重写是什么意思-[UIViewControllershouldPerformSegueWithIdentifier:sender:]方法。我是否只是制作此方法的自定义版本(见下文)并在展开操作

ios - Segue 后退按钮在 iOS 9 中消失

在iOS9发布之前,我开发了一个针对iOS8.4的应用程序。我使用了一些UITableView通过类似“Show(例如Push)”的segue相互连接。它以正确的行为完美地工作:每次我从一个UITableView切换到另一个时,后退按钮就会出现,这样用户就可以返回到之前的场景;后退按钮也从UITableView出现到UIViewController,使用相同类型的segue。现在我已经升级到最新版本的Xcode并将应用程序定位到iOS9.0,我遇到了这个问题:现在,如果我从UITableView转到另一个UITableView,后退按钮不再出现,但如果我从UITableView转到UI

objective-c - 一个UIButton两个场景只有一个segue,需要条件代码

我在Xcode项目的Storyboard文件中创建了几个场景,加载的第一个场景是用户登录屏幕。当用户登录UIButton时,“登录”会将用户带到欢迎屏幕。我使用模态转场在Storyboard中设置它。我希望名为“admin”的用户进入欢迎管理屏幕。我很确定只有一个segue与一个对象相关联,即Storyboard中的UIButton,所以我很困惑如何完成登录以将管理员带到管理员欢迎屏幕,并让所有其他用户进入用户欢迎屏幕。我真的不想创建两个单独的登录按钮,所以这不是一个选项。我看到一些stackoverflow帖子有类似的问题,但所有的答案似乎都有点令人费解。请记住,我是Xcode的新手

没有导航 Controller 的 ios segues

我想使用Storyboard来创建我的应用程序。我可以找到很多关于如何将它与导航或选项卡Controller一起使用的信息,但我不想使用它们中的任何一个。我的目标是创建一个具有不同View但不使用导航或选项卡Controller的应用程序。我该怎么做? 最佳答案 在IOSstoryboard中,如果你不想使用navigation,那么你就不能使用pushsegue。然后,您可以使用模态转场或自定义转场。在modalsegue中,有四种转换:垂直覆盖水平翻转交叉融合部分curl但是,所有这些预定义的转场动画都不能预制水平滑动动画转场。

iOS 推送风格 segue 过渡

我想在推送另一个ViewController时更改导航ViewController的“从右向左滑动”过渡。我在Storyboard中找到了一个选项,但它似乎不起作用。过渡样式仍然相同。通过单击Storyboard中的目标ViewController,我发现了这一点,尽管看起来过渡是针对模态样式segue的:所以,我的问题是,是否有可能使推送式segue转换看起来不同?如果是这样,怎么做? 最佳答案 您可以在自定义Segue中使用CATransition来实现任何类型的转换。这是示例代码。-(void)perform{__blockU