我有一个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