Ich habe eine TableViewCell, die einige Funktionen für jede Zelle in einer Tabellenansicht enthält. Ich möchte, dass eine dieser Funktionen der Ansicht eine activityIndicator
präsentiert, um Benutzerinteraktion mit der App zu verhindern, bis die Funktion beendet ist.Wie verwendet man TableViewCell, um ViewController hinzuzufügen?
var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
func exampleFunc(){
activityIndicator = UIActivityIndicatorView(frame: CGRect(x: 0,y: 0,width: 50,height: 50))
activityIndicator.center = self.view.center //can't be used as self.view doesn't exist because self is a tableviewCell
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
view.addSubview(activityIndicator) //also can't be used
activityIndicator.startAnimating()
UIApplication.shared.beginIgnoringInteractionEvents()
if x<y{
self.activityIndicator.stopAnimating()
UIApplication.shared.endIgnoringInteractionEvents()
}
}
Das Problem dabei ist, dass die self.view.center
nicht verwendet werden kann, da diese Funktion in der tableViewCell untergebracht ist, und deshalb wird self
Bezugnahme auf die tableViewCell und so ein self.view
ist nicht verwendbar: In der Regel kann dies durch Verwendung erfolgen. Wie kann ich dieses Aktivitätskennzeichen zu dem TableView hinzufügen, das die TableViewCell enthält, obwohl es sich in dem tableViewCell
befindet?
Warum legen Sie den Code für die Anzeige des Aktivitätsindikators in der Zelle und nicht in der Tabellenansicht selbst? – NRitH
Sie können die Benachrichtigung oder Delegierung verwenden, während Sie den Aktivitätsindikator im viewController beibehalten und die Benachrichtigung aus tableViewCell –
@NRitH veröffentlichen, da die Funktionen für alle Schaltflächen in jeder Zelle in der Zelle enthalten sind ... und diese Schaltflächen sind I möchte den Aktivitätsindikator verwenden –