Ich versuche Aktivitätsanzeige mit swift zu machen, aber es ist etwas, das ichAktivitätsanzeige in Swift
Hier bin fehlt, ist der Code für Start-Aktivität Taste Taste:
Indicator = ActivityIndicator().StartActivityIndicator(ViewController());
Und hier ist der Code für Aktivitäten- Taste
ActivityIndicator().StopActivityIndicator(ViewController(),indicator: Indicator);
und Code für Aktivitätsindikator Klasse ist
class ActivityIndicator: NSObject {
var myActivityIndicator:UIActivityIndicatorView!
func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView
{
self.myActivityIndicator = UIActivityIndicatorView(frame:CGRectMake(100, 100, 100, 100)) as UIActivityIndicatorView;
self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
self.myActivityIndicator.center = obj.view.center;
obj.view.addSubview(myActivityIndicator);
self.myActivityIndicator.startAnimating();
return self.myActivityIndicator;
}
func StopActivityIndicator(obj:UIViewController,indicator:UIActivityIndicatorView)-> Void
{
indicator.removeFromSuperview();
}
}
Dank Problem Gelöst
während Code schreibe ich weiß, dass die Zeit, die ich selbst in der Funktion übergeben müssen, aber zu diesem Zeitpunkt weiß ich nicht Welche Selbst so II verweist kann nicht empfangen, bis ich den Typ kenne, dann entscheide ich mich zu versuchen, erhalten anderen Typ (UIView, UIActivityIndicatorView, UIViewController) dann fand ich, dass es UIViewController sein sollte, aber ich vergaß, dass es Pass mit Selbst sein sollte und ich suche für was in Funktionsaufruf übergeben und ich dachte ich ets versuchen UIViewController und es gab mir keinen Fehler, so dachte ich, es ist richtig aber wenn es nicht funktioniert, dachte ich, ich bin nah genug, so dass es besser ist, Experte über das Problem zu fragen. Und wie ich es erwartet Problem ist innerhalb von wenigen Minuten gelöst
Swift 3-Version
class ActivityIndicator: NSObject {
var myActivityIndicator:UIActivityIndicatorView!
func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView
{
self.myActivityIndicator = UIActivityIndicatorView(frame:CGRect(x: 100, y: 100, width: 100, height: 100)) as UIActivityIndicatorView
self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
self.myActivityIndicator.center = obj.view.center;
obj.view.addSubview(myActivityIndicator);
self.myActivityIndicator.startAnimating();
return self.myActivityIndicator;
}
func StopActivityIndicator(obj:UIViewController,indicator:UIActivityIndicatorView)-> Void
{
indicator.removeFromSuperview();
}
}
Wenn Sie 'StopActivityIndicator()' aufrufen (das übrigens mit einem Lowe-Case s beginnen soll), rufen Sie es auf einer neuen Instanz statt der Instanz auf, die von der Startfunktion – Paulw11
zurückgegeben wurde Ich nenne es richtig, aber wenn das der Fall ist, dann sollte es Probleme geben, den Indikator nicht richtig zu starten? –
Die Groß-/Kleinschreibung ist nur Konvention - Klassen beginnen mit einem Großbuchstaben, Funktionen und Variablen beginnen mit einem Kleinbuchstaben. Das Problem besteht darin, dass Sie eine neue Instanz stoppen, anstatt die Instanz, die Sie gestartet haben. Sie müssen das Objekt aus dem Start-Call speichern und Call-Stop für diese Instanz – Paulw11