![](/img/trans.png)
[英]How to hide and show UIViewController button in AppDelegate? - Swift
[英]how to hide/show a button in swift
我正在嘗試使用 if 語句,當標簽顯示特定狀態時隱藏按鈕,並在標簽顯示其他內容時出現。 標簽的名字是Status,當它顯示"Closed"
,我想隱藏它,當它顯示"Open"
,它就會出現。
var query3 = PFQuery(className:"Status_of_game")
query3.findObjectsInBackgroundWithBlock{
(namelist3: [AnyObject]!, error : NSError!) -> Void in
for list3 in namelist3 {
var output = list3["StatusType"] as String
self.Status.text = output
println(output)
if self.Status.text == "Closed"
{
Purchase().enable = false
}
}
}
正如@LAmasse 所說,您想使用button.hidden = true
。 button.hidden
在 Swift 3 中被重命名為button.isHidden
您發布的代碼沒有意義。
if self.Status.text == "Closed"
{
Purchase().enable = false
}
什么是采購? 從大寫的名稱來看,它似乎是一個類。 如果是這樣,則表達式Purchase()
很可能會創建Purchase
類的新實例,這是沒有意義的。 你為什么要進行函數調用? 如果那是創建一個新的Purchase
對象,那么該代碼毫無意義。 (您將在if
語句中創建一個新對象,該對象將在下一行被丟棄,因為您沒有保留對它的強引用。)
你想為你的按鈕設置一個 IBOutlet 並在 Interface Builder 中連接它。
聲明可能如下所示:
Class MyViewController: UIViewController
{
@IBOutlet weak var theButton: UIButton!
//The rest of your view controller's code goes here
}
如果插座連接到您的按鈕,則代碼行左側應該有一個實心圓圈。 它看起來像這樣:
然后您顯示/隱藏按鈕的代碼可能如下所示:
func showQueryResults
{
var query3 = PFQuery(className:"Status_of_game")
query3.findObjectsInBackgroundWithBlock()
{
(namelist3: [AnyObject]!, error : NSError!) -> Void in
for list3 in namelist3
{
var output = list3["StatusType"] as String
self.Status.text = output
println(output)
if output == "Closed"
{
theButton.isHidden = false //changed to isHidden for Swift 3
}
}
}
}
我不清楚為什么要遍歷查詢的所有結果,並在任何結果的“StatusType”為 ==“Closed”時顯示按鈕。
最后,我對解析不是很熟悉。 如果在主線程上沒有調用 findObjectsInBackgroundWithBlock 方法的完成塊,您將必須更改該代碼以在主線程上更新 UI。
從那以后,我了解到 Parse 在主線程上執行其完成處理程序,因此您無需擔心來自 Parse 完成處理程序的 UI 調用。
斯威夫特 3
我創建了一個
IBOutlet: loadingBDLogo
顯示:
loadingBDLogo.isHidden = false
隱藏:
self.loadingBDLogo.isHidden = true
在 Swift 中隱藏按鈕的示例代碼:
import UIKit
class ViewController: UIViewController {
// Create outlet for both the button
@IBOutlet weak var button1: UIButton!
@IBOutlet weak var button2: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
//Set button2 hidden at start
button2.isHidden = true
}
//Here is the action when you press button1 which is visible
@IBAction func button1(sender: AnyObject) {
//Make button2 Visible
button2.isHidden = false
}
}
和
如果你想保留對它的引用,你必須使 UIButton 成為類的一個屬性。 然后您可以使用 self.takePhotoButton 訪問它。
要隱藏按鈕,請使用 button.hidden = true https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/cl/UIView
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.