【问题标题】:swipe to new nib滑动到新笔尖
【发布时间】:2011-10-20 19:37:52
【问题描述】:

我只想刷到一个新的笔尖,但我卡住了。我的代码正确构建,没有错误或警告,但没有任何反应。

这是我的代码

- (IBAction) handleSwipeGesture:(UIGestureRecognizer *) sener { 
        NSLog(@"swipe left");
    if(UISwipeGestureRecognizerDirectionLeft) {
        SecondDetailViewController *tempController = [[SecondDetailViewController alloc] 
         initWithNibName:@"SecondDetailView" 
          bundle:nil];
        newController = [tempController retain];
        [tempController release];
    }

}

系统看到我正在刷卡(它被记录),但它没有转到新的笔尖。 我并没有真正与我的代码结婚,所以如果我需要完全重写它,我可以。

【问题讨论】:

  • 你使用导航控制器来显示你的视图控制器吗?

标签: ios uikit uigesturerecognizer nib uiswipegesturerecognizer


【解决方案1】:

假设您正在视图控制器内处理滑动手势(并且您正在使用导航控制器),您应该执行以下操作:

- (IBAction)handleSwipeGesture:(UISwipeGestureRecognizer *)sender { 
    if(sender.direction == UISwipeGestureRecognizerDirectionLeft) {
        NSLog(@"swipe left");
        SecondDetailViewController *tempController = [[SecondDetailViewController alloc]
                                  initWithNibName:@"SecondDetailView" bundle:nil];
        [self.navigationController pushViewController:tempController animated:YES];
        [tempController release];
    }
}

这一行将tempController 推到导航控制器的顶部:

[self.navigationController pushViewController:tempController animated:YES];

如果你想以模态方式呈现tempController,你应该调用它:

[self presentModalViewController:tempController animated:YES];

【讨论】:

  • 这实际上是一个 SplitViewController。 SplitView 与 NavigationController 的代码是否不同?虽然 Ayoy 的代码构建在技术上是正确的(没有错误),但我现在什至没有得到任何日志!
  • 哦,如果重要的话,这是使用苹果的“MultipleDetailView”项目
  • 您在日志中看不到任何内容,因为我将调试输出移到 if 子句中测试滑动方向,并且您可能没有向左滑动 :) 拆分视图控制器是只是两个视图控制器的容器,它不提供任何用于视图转换的 API。您甚至无法从其子视图控制器中引用拆分视图控制器(在滑动时将其中一个与新的交换)。但是,您可以将导航控制器作为拆分视图控制器子节点之一,并使用它来管理视图流。
  • 注意: 我假设您在拆分视图控制器的子视图控制器内处理滑动手势。对吗?
  • 基本上我在做杂志,splitview 是我的初稿,我只是懒惰并试图重做,而不是构建新的东西。如果我进行滑动,我不一定需要拆分。那么我应该从头开始,从导航控制器开始吗?
【解决方案2】:

在创建 newController 对象后,您不会对其进行任何操作。您需要将其推送到导航控制器上,以模态方式呈现,或者抓取视图并将其放在屏幕上。

【讨论】:

    猜你喜欢
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多