【问题标题】:Xcode: Creating a Segue Connection programmatically for custom componentXcode:以编程方式为自定义组件创建 Segue 连接
【发布时间】:2014-07-18 14:26:08
【问题描述】:

我创建了一个自定义 uiscrollview,并希望在 uiscrollview 上执行一个操作来触发 segue。我意识到所有触发 segue 的控件在其连接检查器中都有一个“触发的 segues”部分。

- (IBAction)startSegue....

在“接收到的操作”部分下的 .h 文件中,有没有办法以编程方式在“触发的转场”连接下创建连接,以使自定义类控件充当转场的连接?

谢谢 D

【问题讨论】:

    标签: ios xcode custom-controls segue uistoryboardsegue


    【解决方案1】:

    不,你不能按照你的建议去做。您需要从视图控制器进行 segue,并在滚动视图的委托方法之一中调用 performSegueWithIdentifier:sender:。

    【讨论】:

    • 谢谢。我有一个 UIScrollView,其中包含各种 UIView 控件,其中包含各种 UIButton。如果按下任何按钮,则(通过协议)触发 UIScrollView 中的事件。这会是执行segue的地方吗?如果是这样,我该如何在自定义类中执行此操作?
    • @dgee4,尚不清楚您为什么希望自定义类来处理这个问题。除了视图控制器之外,您不能从任何其他地方调用 segue。为什么不让按钮的操作方法以视图控制器为目标?
    • 设法通过创建一个直到视图控制器的新协议来做到这一点
    【解决方案2】:

    如果这是您所要求的,您可以通过编程方式触发 segue。创建一个在动作(UIScrollView 上的按钮或动作)之后调用的方法,并调用类似于此的方法:(取自 Creating a segue programmatically

    -(void) someMethod{
    MyNewViewController *myNewVC = [[MyNewViewController alloc] init];
    
    // do any setup you need for myNewVC
    
    [self presentModalViewController:myNewVC animated:YES];
    }
    

    【讨论】:

    • 您好,感谢您的回复。我有一个包含 UIViews 的自定义 UIScrollView。每个 UIView 都有按钮。我已经对其进行了编码,以便按下任何 UIView 中的任何按钮都会通过协议将事件发送到父 UIScrollView。有没有办法让按下这样的按钮来触发 push segue?
    • 为什么不触发一个方法,就像上面一样,而不是向父级发送一个事件?
    猜你喜欢
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2018-09-10
    • 2011-08-29
    相关资源
    最近更新 更多