根据XML返回,我不希望当前segue在UIButton touch上执行.
我知道我可以选择segue我想要表演的内容,但是如何让我segue 不能表演?或者至少不执行任何可用的segues?
这是关于push-segue的问题,请转到iOS应用中的"主页".
一切正常,但push-segue只有一个"从右到左"的动画类型.在iPad应用程序中它并不美观.那么,我怎么能改变动画类型,例如,"淡化"?
或者可能有其他方式来准备我想要的东西.
我有一个继承自UIControl的自定义类,用于获取触摸事件.它基本上是一组其他控件的集合.我正在将我的应用程序从xib转换为故事板.除此之外,它几乎是无痛的.
我将UIView拖入我的场景,将类更改为我的自定义控件,将其连接到我的ViewController上的插座.单击控件时我想要控制的是对另一个ViewController执行(推)segue.但设计师的出口并没有让我的UIControl设置segue.
是否有可能做到这一点?如果是这样,我该怎么做才能启用它?
我是iOS App Development的新手.我连接了一个tableview控制器,这样当我选择其中一行时,我会使用didSelectRowAtIndexPath获得另一个UIViewController.我在这个UIViewController中有一个容器视图,它显示(当然是)调用didSelectRowAtIndexPath的行的索引.我想用segue来做这个,但问题是我不知道如何获得对使用容器视图形成的视图控制器的引用.我知道你可以在prepareForSegue中使用segue.destinationViewController获取目标View Controller但是如何获得对由于容器视图而将加载的视图控制器的引用.我正在构建适用于iOS 6的应用程序.此外,我还使用了Storyboard作为UI.谢谢
这个问题基本上归结为如何获得UIViewController-2的引用,该引用由UIVonConiner-1内部的UIContainerView指向.通过选择一行UITableViewController来触发UIViewController-1
UITableViewController(选择要给出的行)---> UIViewController-1,其中包含.... ContainerView ---> UIViewController-2(与ContainerView关联的ViewController).
从iOS 6开始,展开的segue可用于向上导航场景层次结构.我试图决定将数据传递给父视图控制器的更清洁/更好/首选/更可维护的方法.从技术角度来看,有一些问题可以解决这个问题(例如"如果我有一个放松,我还需要一个代表")但我找不到太多可以解决利弊的问题.
选项1:使用代表.
选项2:使用展开segue
Exit并命名segue以便它可以与performSegueWithIdentifier:senderreturnFromSegueName(链接到该segue的用户命名方法)从子进程中获取数据.canPerformUnwindSegueAction:fromViewController:withSender
总的来说,代表们感觉更干净,但也许过时了.我倾向于朝那个方向倾斜吗?

我有一个标签栏控制器,它是初始视图控制器,PFLoginViewController如果用户没有登录,它也有一个小工具.登录/注册流程正常.
这两个标签是1.a UICollectionView,我IntroVC将从现在开始参考2. UITableView我将称之为FeedVC
当用户点击照片时IntroVC,会触发显示segue(通过prepareForSegue),显示第3个屏幕(UIView),这在技术上不是标签.我SelectVC将从现在开始称之为.
注意:所有这些屏幕也嵌入(ded)在导航控制器中.
所述SelectVC显示相片,并有一个UIButton,用户可以按下触发一个显示赛格瑞身心SEGUE到图像推入FeedVC.我创建Unwind segue的原因是因为没有它,图像会进入FeedVC(第二个选项卡),但第一个选项卡仍然会突出显示.
我用Unwind segue解决了这个问题,但是我注意到我遇到了一个问题,在选择之后,当我按下第一个选项卡(Intro VC)时,导航栏有一个后退按钮,我使用SelectVC按钮推的次数越多图像,我必须按回的次数越多IntroVC.我对如何解决这个问题感到非常困惑.很明显,我没有正确地连接流程,而且似乎IntroVC是多次生成?
当我在模拟器中浏览segues时,我在控制台中收到以下消息:
Nested pop animation can result in corrupted navigation bar
Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
相关代码如下.
IntroVC.swift
@IBAction func unwindToIntroView(segue: UIStoryboardSegue) {
self.tabBarController!.selectedIndex = 1
override func prepareForSegue(segue: …Run Code Online (Sandbox Code Playgroud) 我创建了一个表视图,然后从那里开始说用户按下了一个单元格,它将转到detailItemView,但现在唯一的问题是每当用户在detailItemView中时,没有后退按钮,即使我已经嵌入了导航控制器
这是用户按下单元格后将执行segue的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using [segue destinationViewController].
var nav = segue.destinationViewController as! UINavigationController
var detailScene = nav.topViewController as! DetailViewController
// Pass the selected object to the destination view controller.
if let indexPath = self.tableView.indexPathForSelectedRow() {
let row = Int(indexPath.row)
detailScene.currentObject = objects?[row] as? PFObject
}
}
Run Code Online (Sandbox Code Playgroud)
故事板的屏幕截图:

编辑截图

我试着在下面做出答案,但仍然没有后退按钮
另一个截图,detailView控制器没有后退按钮

我正在尝试编写一个刽子手游戏,并且在解开细分时遇到麻烦.我有多个视图控制器,最终导致相同的视图,用户在其中播放实际的刽子手.但是,根据呈现控制器,我希望游戏处于不同的"模式"(即:多人游戏,单人游戏等).我正在尝试添加一个解除前一个视图控制器的游戏按钮,但是当用户可以使用多个路径到达此视图时,我不确定如何展开.
换句话说,我的应用程序有点:
A - > B - > C或
A - > D - > C其中C可以(理想地)展开到D或B.
我想知道实现这个的最佳方法是什么?我应该只将所有视图控制器嵌入导航控制器吗?或者有没有办法根据某种条件呈现某个视图控制器?感谢您的任何帮助!
我已经在这个应用程序上工作了好几个月,从我记忆中来看,我从来没有遇到过segue的问题.代码在调用方面没有变化,performSegueWithIdentifier但是由于我最近更新到Xcode 7和iOS 9,我无法解决这个问题.
我试过了:
performSegueWithIdentifier 当我按下按钮,没有初始负载的函数被称为目的地VC(例如:ViewDidLoad,ViewWillAppear,等等).当我将它连接到空白视图时,segue可以正常使用相同的代码.
由于代码永远不会停止或中断,并且只是在仍然在Xcode上运行时似乎"冻结",我似乎无法将其缩小到导致问题的原因.我有一个类似的segue,也可以从同一个ViewController上的另一个按钮调用,它没有任何问题.
对此事的任何想法都非常感谢!
编辑:我已将问题缩小到UITextView导致问题的原因.一旦删除了文本视图,页面就会通过segue加载.我想知道iOS 8和iOS 9之间的变化,UITextView因为我将不得不删除文本视图并完全重新添加新的文本视图.
我正在使用iCarousel,我必须创建自己的按钮.我想将编程按钮中的数据传递给另一个视图,但我没有segue标识符,因为我以编程方式创建了按钮.我不知道是否可以通过编程方式创建segue的标识符.
button.addTarget(self, action: #selector(buttonAction3), for: .touchUpInside)
button.setTitle("\(titulos[index])", for: .normal)
tempView.addSubview(button)
let myImage = UIImage(named: "modo4.png") as UIImage?
button.setImage(myImage, for: .normal)
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "modo") as! Modo1ViewController
self.present(viewController, animated: false, completion: nil)
if segue.identifier == "" {
if let destination = segue.destination as? Modo1ViewController {
destination.nomb = nombres
}
}
Run Code Online (Sandbox Code Playgroud) segue ×10
ios ×8
swift ×3
objective-c ×2
unwind-segue ×2
animation ×1
button ×1
delegates ×1
iphone ×1
swift2 ×1
uistoryboard ×1
uitableview ×1
xcode ×1