首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SWRevealViewController传递参数

SWRevealViewController传递参数
EN

Stack Overflow用户
提问于 2014-07-11 23:45:17
回答 7查看 2K关注 0票数 3

通过SWRevealViewController将参数从一个ViewController传递到另一个ViewController。这不是关于在前端控制器和后端控制器之间传递参数,而是从另一个ViewController (firstViewController)传递到前端(frontViewController。参考图片。segue (在触摸按钮时)尝试将字符串值传递给前端控制器

图片在这里:http://portwire.com/stackoverflow/storyboard.png

代码语言:javascript
复制
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    SWRevealViewController *destinationViewController = (SWRevealViewController *)segue.destinationViewController;
    UINavigationController *navegationController = (UINavigationController *)destinationViewController.frontViewController;

    //UUPS!! SWRevealViewController.frontViewController is nil

    //How to access destination UIViewController????????

    FrontViewController * frontViewController = (FrontViewController *)navegationController.topViewController;
    frontViewController.fromString = @"String from previous view";
}
EN

回答 7

Stack Overflow用户

发布于 2017-05-31 17:23:00

对于Swift 3.0:

  • 你必须为storyBoardId SWRevealViewController命名为你想要的任何东西,在这个例子中:"SWRevealViewController“
  1. 遵循下面的代码: let storyboard = UIStoryboard(name:"Main",bundle: nil)让revealVc =Main :"SWRevealViewController") as!SWRevealViewController revealVc.loadView()让navViewController = revealVc.frontViewController as!UINavigationController if (navViewController.topViewController?.isKind(of: MainVc.superclass()!)) {让mainVc = navViewController.topViewController as!MainVc mainVc.email =电子邮件} self.present(revealVc,动画:真,完成:无)
票数 4
EN

Stack Overflow用户

发布于 2016-11-15 02:42:27

我有第一个LoginViewController -> SWRevealViewController -> NavigationController -> HomeViewController (HomeViewController是frontViewController)

从LoginViewController到SWRevealViewController,我有一个段。为了传递数据,我在prepareForSegue中使用了适合我的代码。

代码语言:javascript
复制
if ([[segue identifier] isEqualToString:@"homeVC"]) {

   SWRevealViewController *destination = [segue destinationViewController];
   [destination loadView];
   UINavigationController *navViewController = (UINavigationController *) [destination frontViewController];

   if ([navViewController.topViewController isKindOfClass:[HomeViewController class]]) {

        HomeViewController* homeVC = (HomeViewController*)navViewController.topViewController;
        homeVC.title = @"Test1";
                } }

希望能对你有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2015-03-07 23:15:23

我认为你可以使用委托来做这件事。

在您的前视图控制器中定义一个协议,并让第一个视图控制器符合它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24701633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档