![](/img/trans.png)
[英]How do I make a label slide onto the screen when a button is pressed? SWIFT 2
[英]How do I get a label to display random text when a button is pressed? [Swift]
我目前正在開發我的第一個應用程序,並且完全按下按鈕時會在標簽中生成隨機文本。 這里是更多信息:
該應用程序是一個非常簡單的學習工具,它將幫助我記住著名歷史學家的名言(我知道我可以使用筆和紙,但是這種方式更有趣,我的朋友也可以使用它)。
這是我所擁有的:
@IBAction func quoteButtonTapped(sender: AnyObject) {
var randomNumber = arc4random_uniform(5) + 1
var QuoteString:String = String(format: "quote%i", randomNumber)
self.quoteLabel.text = QuoteString
var quote0 = "Quote 000"
var quote1 = "Quote 001"
var quote2 = "Quote 002"
var quote3 = "Quote 003"
var quote4 = "Quote 004"
var quote5 = "Quote 005"
var quote6 = "Quote 006"
}
(在此處找到代碼圖)
如您所見,隨機生成器在前綴“ quote”上添加一個數字,然后標簽(quoteLabel)顯示結果“ Quotestring”(前綴和隨機數放在一起)
但是,發生的是標簽僅顯示文本“ quote1”或“ quote3”,而不顯示我附加到“ Quote 000”的變量。
我如何獲取標簽以顯示變量(“報價000”),而不是僅顯示變量的名稱(quote5)-我所做的任何重大錯誤,還是缺少一些小東西?
更多信息:
引號000-006就是我所說的要測試的內容,將被引號代替。
該應用程序可以在iOS模擬器中正常運行,只是重復顯示“ quote0”或“ quote5”等。
非常感謝,任何幫助都會很棒!
不要創建一堆單獨的引號變量。 創建一個引號數組:
let quotes = [
"Now is the time for all good men to come to the aid of their country",
"Vini, vidi, vichi",
"I regret that I have but one life to give for my country",
"Illegitimi non carborundum"
]
let index = arc4random_uniform(UInt32(quotes.count))
let aQuote = quotes[index]
順便說一句,不要發布代碼圖像。 像我上面一樣,使用Code標簽將代碼放入您的帖子中。
我如何獲取標簽以顯示變量(“報價000”),而不是僅顯示變量的名稱(quote5)-我所做的任何重大錯誤,還是缺少一些小東西?
問題是這行代碼var QuoteString: String = String(format: "Quote 00%d", randomNumber)
實際上是將String
值分配給QuoteString
。 它沒有引用您的變量quote0
.. quote6
及其關聯的引號。 您實際上是在告訴它QuoteString
=“”中的位+隨機數。
我認為這兩行可以幫助您實現您的目標。
let quoteArray = ["Quote 000", "Quote 001", "Quote 002", "Quote 003", "Quote 004", "Quote 005", "Quote 006"]
self.quoteLabel.text = quoteArray[Int(arc4random_uniform(UInt32(quoteArray.count)))]
因為無論如何您只是使用一個字符串,所以不需要所有的字符串vars就是額外的代碼。 只需使用:
var QuoteString:String = String(format:Quote 00%d,randomNumber)
要么
var QuoteString:String = String(format:Quote 00\(randomNumber))
您不應該使用這樣的字符串來選擇變量名。 另一個選擇是使用開關盒,但以上代碼到目前為止是最佳選擇。
好吧,您只是在創建一個字符串對象並將其放入標簽中。 另外,您想引用一個變量,但是在聲明變量之前要先進行引用。 您的范圍也不太正確,您的隨機數會產生1-5之間的某個值,但您想要0-6。 您可以放入7並減去+1,但我會采取不同的方法。
我個人將它們全部放在一個數組中,並像這樣進行操作:
@IBAction func quoteButtonTapped(sender: AnyObject) {
let quotes: NSArray = ["Quote 000", "Quote 001", "Quote 002", "Quote 003", "Quote 004", "Quote 005", "Quote 006"]
let range: UInt32 = UInt32(quotes.count)
let randomNumber = Int(arc4random_uniform(range))
let QuoteString = quotes.objectAtIndex(randomNumber)
self.quoteLabel.text = QuoteString as? String
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.