Ich habe einige Schwierigkeiten, einen Verweis auf eine Unteransicht zu erhalten. Grundsätzlich habe ich eine UIView, die eine Sammlung von benutzerdefinierten UIViews enthält. Was ich brauche, ist eine Referenz auf eine bestimmte Ansicht, um sie zu ändern.Schwierigkeiten, eine Unteransicht zu finden und zu ändern
habe ich versucht, zwei verschiedene Ansätze, wo die erste als Konzept so etwas wie ist:
for i in 1...8 {
let myCustomView = MyCustomView(frame: CGRect(0, 0, 100, 100)) // frame is with fake numbers just to write the snippet
myCustomView.customProperty = some property
myCustomView.image = some UIImage
myCustomView.tag = i
addSubview(myCustomView)
}
ich einen Hinweis zu bekommen versucht, sagen wir mal, Ansicht mit Tag 2 auf diese Weise:
if let viewWithTag = self.viewWithTag(2) as! MyCustomView {
viewWithTag.image = a different Image
}
Ich kann sehen, dass ViewWithTag nicht gleich Null ist, aber für jede Eigenschaft, die ich ändere, wird nichts in der App reflektiert.
Ein anderer Weg, um die subview zuzugreifen etwas wie ist:
let myViews = self.subviews.filter({$0 is MyCustomView})
let specificView = myViews[1] as! MyCustomView
specificView.image = something else
Ich habe myViews In diesem Fall, dass die Subviews alle enthält, enthält specificView die spezifische Sicht, aber auch hier ist nichts in der App
reflektiertAls Anmerkung ist MyCustomView vom Typ UIImageView und der Hauptcontainer ist UIView
Ist meine Vorgehensweise korrekt?
Vielen Dank im Voraus