2016-10-02 214 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

相關問題