如何使用RubyMotion以编程方式显示新的UI视图

时间:2012-09-30 15:17:45

标签: ios storyboard transition rubymotion

我有一个用2个视图创建的故事板。 ViewController1和ViewController2。我希望能够做的是在用户填写特定字段并单击view1上的“登录”按钮后,将用户转换为view2。

我将按钮成功链接到按下时执行的方法我只是不确定如何进行转换。

1 个答案:

答案 0 :(得分:0)

这是通过标准的IOS Utility模板进行模式化的:

1)在故事板中,从视图控制器1到2设置模态segue。通过控制从视图控制器1图标(视图控制器底部右侧的图标)拖动到视图控制器2来执行此操作。选择modal作为转换类型,并为此segue指定一个标识符,例如ShowViewController2

2)在视图控制器1的实现文件中,当用户按下Log In

时调用它
self.performSegueWithIdentifier("ShowViewController2", sender:self)

然后在viewController1中实现prepareForSegue以设置viewController2:

def prepareForSegue(segue, sender:sender)
    # call setters to pass data to the second view controller

    # set up a delegate pointer so that you can get back to VC1
    segue.destinationViewController.delegate = self
end

此外,在视图控制器2完成时实现视图控制器1中的方法

# Come back here when view controller 2 is done, for instance if the
# user logs off.
def view_controller_2_is_done(sender)
    self.dismissModalViewControllerAnimated(true)
end

对于视图控制器2,您需要为delegate设置

的设置器
attr_accessor :delegate

当需要返回查看控制器1时(即用户退出时),请致电:

@delegate.view_controller_2_is_done(self)