2015-09-05 29 views
1

在故事板中有几个赛段,都带有标识符。是否有可能通过代码访问它们并更改其锚点?如何通过代码访问故事板的segue?

事情是这样的:

mySegue1.anchor = someOtherView 
+1

您所指的segue的'anchor'是什么? – luk2302

+0

@Iman我的问题是不同的,在这个问题中,他没有以编程方式设置锚点,只是改变了框架大小。 – Maysam

+0

感谢您的澄清,我会给dup标志回 – Zich

回答

0

试试这个

self.performSegueWithIdentifier("YourSegueIdentifier", sender: self) 
+0

我要求访问segue不执行它。 – Maysam

0

我想你可能chnage锚的视图控制器具有以下代码,正如我在上面的评论中写道,我相信你可以创建一个以编程方式棘手,下面的代码将为您创建一个新的Segue,而不仅仅是以编程方式更改已经绘制的Segue的锚点。

大多数优秀的程序员的认为,你无法通过代码创建一个Segue公司,这就是为什么改变Segue公司主播不被认为是一个可执行的工作。但它是

它是一种“客观C”版本,但是你可以很容易地将其转换为“雨燕”如果你喜欢。

UIViewController *toViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"OtherViewControllerId"]; 

MySegue *segue = [[MySegue alloc] initWithIdentifier:@"" source:self destination:toViewController]; 

[self prepareForSegue:segue sender:sender]; 

[segue perform]; 

但是如果你需要使用一个手势识别来创建酥料饼的菜单,然后只需创建一个手势识别和手势的动作FUNC激活弹出了(handleTap()) 看看下面的链接,你可以在故事板中创建你的popover,然后编写代码的其余部分,或者完全通过代码来完成,这两方面都完全覆盖了。

http://gracefullycoded.com/display-a-popover-in-swift/

我的理解,我希望我得到它的权利,你将要在其上定义标签的姿势视图控制器上创建一个弹出。而且你成功完成这项工作,但弹出式菜单错位。如果是这种情况你不需要使用segue或storyboard,所有的部分都可以通过代码轻松完成。

+0

为了说清楚:我已经动态创建了对象,并且附加了UITapGestureRecognizer。他们在屏幕上的位置是随机的,当用户双击它们时,出现弹出窗口。这就是为什么我需要以编程方式更改锚。 – Maysam

0

你可以做的是制作一个不可见的锚帧(即一个标签),并使用它作为segue的锚点。我有索姆按钮,并使用这种方法,它工作正常。如果你用你动态创建的对象替换我的按钮。

@IBAction func rearHubActionUIButton(sender: UIButton) { 
     invisibleAncherLabel.frame = sender.frame 
     performSegueWithIdentifier("PopSelection", sender: sender) 
    } 

弹出窗口随后会以您的对象作为锚点出现。