2016-10-02 149 views
0

我跟随了一个关于如何创建iOS应用程序的教程,其中一旦按钮被击中就会显示标题图像和背景图像(在中检查为“隐藏”属性检查器)。我使用的斯威夫特3和Xcode的8Swift 3:当设置isHidden = false时不显示图像

这就是代码的样子:

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时不应显示背景吗?在第二种情况下,背景图像是否应该消失,并显示其他所有内容?

在连接检查一切似乎是正确的,但我真的不知道为什么我不能删除连接“视图 - 背景”:

奥特莱斯:背景 - 背景,titleImage - 标题图片,视图 - 背景,welcomeBtn - 欢迎BTN

相关的操作:welcomePressed - 欢迎BTN触摸的内心

当我取消隐藏属性检查两个图像启动应用程序时,他们会正确显示。

+0

我的错误,我已经删除了答案,你能告诉我们更多的东西,你能再次写出什么是错的,它是如何看起来在开始? isHidden = false表示某些东西没有隐藏,并且它出现在屏幕上 –

+0

如前所述,尽管isHidden设置为false,但背景图像不显示何时按下按钮。一切正常:标题图像出现,按钮消失。 – Nina

+0

我建议使用视图调试器来确保'frame'是正确的,并且它前面没有任何东西阻塞它。还要确保它具有适当的'alpha'值。 – Rob

回答

0

由于Rob建议我尝试了视图调试器,发现后台UIImageView从不出现。

我不知道为什么,但对于背景UIImageView我无法看到连接检查器中的引用插座。当我在“视图控制器场景” - >“视图控制器” - >“视图”下右键单击“背景”一词时,打开一个黑色插座窗口,并且连接在那里!所以我在那个黑色窗口中删除了这个连接,并且把ViewController和控件从后台UIImageView中拖拽到了ViewController中。

现在它的工作!后台UIImageView也出现在视图调试器中。

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

+0

我发布了一个关于该问题的新问题:http://stackoverflow.com/questions/39844581/xcode-how-can-an-iboutlet-connection-disappear-and-still-exist – Nina

相关问题