2017-08-01 15 views
5

में दृश्य दृश्य से प्रगति चेतावनी नहीं खुलती है मैं स्विफ्ट 3 में प्रोग्रेसडिअलॉग को दिखाने और खारिज करने के लिए एक फ़ंक्शन बनाने का प्रयास कर रहा हूं। लेकिन इस कोड में संवाद दृश्य नियंत्रक से नहीं खुल रहा है।स्विफ्ट 3

func showLoadingDialog(show : Bool) { 
    if show { 
     self.alert = UIAlertController(title: nil, message: "Please wait...", preferredStyle: .alert) 
     let loadingIndicator = UIActivityIndicatorView(frame: CGRect(x: 10, y: 5, width: 50, height: 50)) 
     loadingIndicator.hidesWhenStopped = true 
     loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray 
     loadingIndicator.startAnimating() 
     self.alert.view.addSubview(loadingIndicator) 
     self.present(self.alert, animated: true, completion: nil) 
    }else{ 
     self.dismiss(animated: false, completion: nil) 
    } 
} 

मैं भी यह संवाद निरस्त के लिए निम्न विधियों की कोशिश की है, लेकिन उनमें से कोई काम किया:

self.alert.view.removeFromSuperview() 

self.alert.view.alpha = 0 
self.presentingViewController?.dismiss(animated: true, completion: nil) 

कृपया मेरी मदद करो। यदि आपके पास कोई वैकल्पिक समाधान है, तो कृपया एक सुझाव दें।

उत्तर

4

// प्रयास करें इस

func showLoadingDialog(show : Bool) { 
     if show { 
      if self.alert == nil{ 
       self.alert = UIAlertController(title: nil, message: "Please wait...", preferredStyle: .alert) 
       let loadingIndicator = UIActivityIndicatorView(frame: CGRect(x: 10, y: 5, width: 50, height: 50)) 
       loadingIndicator.hidesWhenStopped = true 
       loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray 
       loadingIndicator.startAnimating() 
       self.alert.view.addSubview(loadingIndicator) 
      } 
      if !self.alert.isBeingPresented { 
       self.present(self.alert, animated: true, completion: nil) 
      } 

     }else{ 
      self.alert.dismiss(animated: false, completion: nil) 
     } 
    } 
कोशिश
3

func showLoadingDialog में,

self.alert.dismiss(animated: false, completion: nil)

बजाय

उपयोग करने के लिए

self.dismiss(animated: false, completion: nil)

+0

यह एक समय के लिए काम कर रहा है। लेकिन मैं इस व्यू को अपने व्यू कंट्रोलर में कई बार कॉल कर रहा हूं। दूसरी बार चेतावनी खारिज नहीं हुई। मैं इस प्रतिक्रिया को नेटवर्क प्रतिक्रिया ब्लॉक से बुला रहा हूं। –

+0

कृपया अपना प्रश्न संपादित करें और इसे लागू करने के तरीके पर अधिक कोड ब्लॉक प्रदान करें ताकि हम इस मुद्दे के बारे में और अधिक समझ सकें। धन्यवाद! – Kiester