我有一个继承自 UIControl 的自定义类,用于获取触摸事件。它基本上是其他控件的集合,这些控件充当一个整体。我正在将我的应用程序从 xibs 转换为 Storyboard。除了这个之外,它基本上是无痛的。
我将 UIView 拖到场景中,将类更改为自定义控件,将其连接到 ViewController 上的 socket 。当单击该控件时,我想要对它执行的操作是执行(推送)segue 到另一个 ViewController。但是设计器中的导出不适合我的 UIControl 设置转场。
可以这样做吗?如果是这样,我该如何对类(class)进行操作才能实现这一点?
最佳答案
我不这么认为。查看 Connections Inspector Pane ,UIButton
和 UIBarButtonItem
实例得到特殊处理 - 您可以连接到相邻 View Controller 的额外“触发转场”操作:
虽然将 View 的类更改为 UIControl
的后代可以使标准的控件事件套件可用,但不幸的是,Interface Builder 不允许您连接转场。您能做的最好的事情就是创建一个从 View Controller 到另一个 View Controller 的手动触发的转场,然后将自定义控件连接到以编程方式执行转场的 IBAction
方法:
- (IBAction)performManualSegue:(XYZCustomControl *)sender
{
[self performSegueWithIdentifier:@"manualPushSegue" sender:sender];
}
关于iphone - 如何让自定义 UIControl 参与 segue 作为推送操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17824413/