Swift 3:设置isHidden = false

时间:2016-10-02 20:41:47

标签: swift xcode storyboard ibaction iboutlet

我遵循了一个关于如何创建iOS应用程序的教程,其中一旦按下按钮就会显示标题图像和背景图像(在属性检查器中检查为“隐藏”)。我使用的是Swift 3和Xcode 8。

这就是代码的样子:

import UIKit

class ViewController: UIViewController {

  @IBOutlet weak var background: UIImageView!
  @IBOutlet weak var titleImage: UIImageView!

  @IBOutlet weak var welcomeBtn: UIButton!

  @IBAction func welcomePressed(_ sender: UIButton) {
    background.isHidden = false
    titleImage.isHidden = false
    welcomeBtn.isHidden = true
  }

  //some more inherited functions....

显示标题图像,欢迎按钮按预期消失,但不显示背景。

如果我取消选中属性检查器中的“隐藏”框并改为执行“background.isHidden = true”,则按下按钮后一切都会变黑。

我真的不明白这种行为。这是一个错误还是一个功能?当isHidden设置为false时,背景显示不应该吗?在第二种情况下,背景图像是否应该消失,显示其他所有内容?

在连接检查器中,一切似乎都是正确的,但我真的不明白为什么我无法删除连接“view - Background”:

Outlets:background - background,titleImage - Title Image,view - Background,welcomeBtn - Welcome Btn

相关操作:welcomePressed - 欢迎Btn Touch Up Inside

当我取消隐藏属性检查器中的两个图像时,它们将在启动应用程序时正确显示。

1 个答案:

答案 0 :(得分:0)

Rob建议我尝试使用视图调试器,发现背景UIImageView永远不会出现。

我不确定为什么但是对于后台UIImageView我在连接检查器中看不到引用插座。当我右键单击"背景"在"视图控制器场景" - > "查看控制器" - > "查看"一个黑色的插座窗口打开,连接就在那里!所以我删除了那个黑色窗口中的连接,ViewController和控件将另一个IBOutlet从后台UIImageView拖到了ViewController。

现在它有效!后台UIImageView也出现在视图调试器中。

现在最初的问题是:连接检查器中的连接如何消失,但是当您右键单击它并且黑色插座窗口打开时,它仍然存在?