0

我正在尝试为概念验证做一个简单的视图更改。

这是代码

- (void)swipedScreen
{
    if (self.secondView.superview == nil) {
        [myView removeFromSuperview];
        [self.view insertSubview:secondView atIndex:0];
    }
}

当我滑动屏幕时,会发生什么情况是视图区域变黑......并且变得无响应。

我从一个 navigatoin 应用程序开始,只用一个标准的 uiviewcontroller 类替换了 tableview。效果很好。然后我添加了一个 secondView(仅限 xib)并更改了它的类以匹配第一个视图的 viewcontroller。

我发现这很困难的原因是因为我试图为导航控制器内的视图设置动画,而不是将整个视图推送到我习惯做的堆栈上。

4

3 回答 3

1

我敢打赌,空白的无响应视图实际上是您的secondView对象。我总是通过设置[secondView setBackgroundColor:[UIColor greenColor]]和检查是否真的出现了巨大的绿色矩形来进行测试。

编辑:查看您的代码后,出现了多个问题:

  1. 你从来没有真正+alloc-init任何事情。
  2. 你从来没有真正接触过这些笔尖或在代码中引用它们
  3. 您将两个 UIView 声明为 IBOutlets 和 Strong(两个完全相反,因为 IBOutlets 是 __weak、__unsafe_unretained 或 assign),但不要将它们链接到任何东西。

我冒昧地对其进行了修改(无笔尖)。 看一看

于 2012-05-29T03:26:25.983 回答
0

你有没有初始化第二个视图?如果初始化,您可以尝试为 secondView 设置框架

于 2012-05-29T03:07:04.873 回答
0

您在堆栈底部插入视图,

[self.view insertSubview:secondView atIndex:0];

尝试使用 addSubview 代替。您还需要在某处设置视图框架。

于 2012-05-29T03:46:47.383 回答