我有一個int n保存值。 我想創建一個循環,將創建具有連續標籤的UIImageViews。用標籤創建UIImageView。 Swift 3
我的代碼:
var n:Int = 1
if arrayOfEmojis.count != 0 {
for emoji in arrayOfEmojis {
let emojiView = self.view.viewWithTag(n) as! UIImageView
emojiView.image = emoji
...
}
但emojiView不創建。 當我使用「如果讓emojiView =」它也只是沒有創建。 我使用「viewWithTag(n)」func錯了嗎?
_______edit_________
使用.viewWithTag()
錯了,只好只是分配一個標籤與.tag
財產。 但是,現在,我想使用分配的標籤來獲取該視圖。 我想現在我可以使用.viewWithTag()
func? 我得到unexpectedly found nil...
打電話時: (n
在以前的環中imageViews創建使用,它被更新爲創建imageViews的號碼):我想你誤會使用的目的
if arrayOfEmojis.count != 0 {
for j in 1...n {
var view1 = self.view.viewWithTag(j) as! UIImageView
arrayOfEmojiViews.append(view1)
}
}
'viewWithTag(_ :)'不會創建任何內容 - 它只是返回視圖層次結構中具有匹配標記的現有視圖https://developer.apple.com/reference/uikit/uiview/1622429-viewwithtag –
我的猜測 - 這個編輯實際上是一個新問題 - 是(1)你沒有使用* viewWithTag *,因爲沒有匹配你正在搜索的值。爲什麼? (2)可能是因爲創建標記值的循環將內*值設置爲循環,然後*將其遞增。最終結果是一個** n **值,它是在創建的任何標籤上+1的值。 – dfd
是的,原來的問題由艾哈邁德回答。然而,後者我需要再次使用.viewWithTag()。它不起作用。 決定更新我的問題,因爲它在.viewWithTag()的同一主題上。 – Evgeny