【问题标题】:Making too many transparent views makes complicated in iPhone在 iPhone 中制作太多透明视图会变得复杂
【发布时间】:2012-07-20 09:16:38
【问题描述】:

在开始之前,我想确定一件事我们是否可以使 ViewController 透明 (alpha),据我所知,它是 NO。

我有一个 ViewController,它上面有 8 个 UIButton 对象。每当我按Button1Button2 时,我都在加载ViewController。由于ViewController 无法透明,我只是将View 移动到我的HomeViewController.xib 并使用-addSubView: 加载view。我正在更改 alpha 值以使其透明。

但问题在于Button1 View 和Button2 View,在这两个视图中我都有表格视图。当我把所有东西都带到同一个 HomeViewController 类时,我在一个类中的代码太多了。

有没有办法做到这一点?在同一个ViewController 中添加多个视图不是问题,但它也会增加代码。这看起来很难看。请帮帮我。

如果我在这里对我的问题感到困惑,我将简要说明我想做什么 每当我在ViewController 中按下Button 时,我都想透明地加载View/ViewController

【问题讨论】:

  • UIViewControllers 与透明度无关,这是他们的 UIView 的工作。您需要在脑海中将 View Controller 和 View 分开。

标签: iphone ios xcode uiview uiviewcontroller


【解决方案1】:

在开始之前,我想确定一件事我们是否可以 ViewController 透明(alpha),据我所知是 NO。

您不能直接调整视图控制器的 alpha。您可以调整视图控制器视图属性 alpha,例如:myViewController.view.alpha,并且您可以对除根视图(视图堆栈底部)之外的任何视图执行此操作。降低您的根视图 alpha 将允许用户通过您的应用看到跳板。

但问题是,在 Button1 View 和 Button2 View 中,在两个视图中我 我有表格视图。当我把一切都归于同一 HomeViewController 类,我的代码太多了 班级。 有没有办法做到这一点?在同一个视图中添加多个视图 ViewController 不是问题,但它也增加了代码。哪一个 看起来很丑。请帮帮我。

我不确定我是否理解这里的问题。只要您正确格式化代码并保持井井有条,这不是问题。我个人使用过超过 15k 行代码的视图控制器,从来没有遇到过问题,而且我敢肯定有些开发人员使用得更多。

如果我在这里对我的问题感到困惑,我会给出一个简短的 我想做什么的描述每当我按下一个按钮 ViewController ,我想透明地加载一个 View/ViewController。

继续你描述的方式。 (添加 alpha 调整 UIView's 作为子视图)这种方法没有任何问题。

【讨论】:

  • 感谢精彩的描述。我觉得会有任何其他逻辑来做到这一点。但似乎NO。我所要做的就是,将所有的viewcontroller代码移到HomScreenViewController类中,并希望尽可能多地添加视图。
  • 我还有一个疑问,在将所有视图移到同一个类之后。如果我给 self.view.alpha = 0.3 ,那么它也会影响它的子视图,我做错了吗?
  • @Perseus 你没有做错任何事,这是标准的视图堆栈行为。有一种方法可以使超级视图透明度不影响其子视图,但我现在似乎不记得了。快速的 Google 搜索应该会显示您需要了解的所有信息。
猜你喜欢
  • 2014-09-21
  • 2010-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 1970-01-01
相关资源
最近更新 更多