Intereting Posts
64 बिट केवल ऐप सबमिट करें आईओएस के लिए Google+ एसडीके प्रोग्राम जोड़ें XCode 4.3.3 – वाईफ़ाई परीक्षण के लिए "iOS डिस्कवरी डिवाइस" खोया गया विकल्प चाहिए चेंजरों को दो बार कॉल करें स्विफ्ट में बाइट सरणी से एनएसडीटा प्रमाणीकरण Google ऐप के साथ काम नहीं कर रहा है CTCallCenter callEventHandler में एक दृश्य को उजागर करना बहुत धीमा है UICollectionReusableView – फ़ंक्शन में अनुपलब्ध वापसी एलामोफर 4 माइग्रेशन, एप्पल मच-ओ लिंकर (आईडी) त्रुटि आईओएस मूल सोप प्रमाणीकरण प्रक्रिया स्विफ्ट में यूआईकोलर्स की तुलना करें निर्धारित करें कि यदि फसल की धरती घुमावदार UIView में पूरी तरह से समाहित है Cocos-SpriteBuilder में आईएडी को कैसे जोड़ें I आईट्यून्स और टेस्टफलाइट का उपयोग किए बिना टेस्टर डिवाइस पर एड हॉक प्रावधानीकरण प्रोफ़ाइल कैसे स्थापित करें I आईओएस को निर्धारित करने का सबसे आसान तरीका क्या है ?app बंडलों के आकार का विकास करते समय?

स्विफ्ट टेबलव्यू फूटर गतिविधि इंडिकेटर फेसबुक जैसा दिखें अधिक डेटा लोड करने के लिए नीचे स्क्रॉल करते समय

मैं एक TableView पाद लेख गतिविधि इंडिकेटर बनाना चाहता हूँ Facebook की तरह देखें, जब वेब से लोड होने वाले अधिक डेटा के लिए नीचे स्क्रॉल किया जाता है, तो यह भी कह सकता है कि अनंत सोकोलिंगदृश्य।

मेरा अनंत सोकोलिंग ठीक है, लेकिन इसमें तीन समस्याएं हैं

  1. वेब से पूर्ण डेटा लोड करने के बाद पाद लेख की पृष्ठभूमि की जगह छिप नहीं जा रही है

  2. ActivityIndicatorView ऊपर और नीचे बढ़ रहा है, लेकिन मैं गतिविधि इंडिकेटर डाल करना चाहता हूँ हमेशा फेसबुक की तरह नीचे देखें

  3. गतिविधि इंडिकेटर दिखाना चाहते हैं यदि डेटा है

NetworkRequestAPI अनुरोध

import Foundation class NetworkRequestAPI { static func getPropductListByCategory(productId : Int, pageNo : Int , completion: @escaping ([Product]? , Error?) -> ()){ let url = URL(string: Configuration.BASE_URL+"/product-by/type?product_type_id="+String(productId)+"&page="+String(pageNo)) var categoryObject = [Product]() URLSession.shared.dataTask(with:url!) { (urlContent, response, error) in if error != nil { } else { do { let json = try JSONSerialization.jsonObject(with: urlContent!) as! [String:Any] let products = json["products"] as? [String: Any] // productCount = (json["product_count"] as? Int)! let items = products?["data"] as? [[String:Any]] items?.forEach { item in let oProduct = Product() oProduct.product_id = item["product_id"] as? Int oProduct.product_name = item["product_name"] as? String oProduct.product_image = item["product_image"] as? String let ratingItem = item["rating_info"] as? [String: AnyObject] let rating = RatingInfo() rating.final_rating = ratingItem?["final_rating"] as? String oProduct.rating_info = rating categoryObject.append(oProduct) } completion(categoryObject, nil) } catch let error as NSError { print(error) completion(nil, error) } } }.resume() } } 

सूचीटेबल दृश्य वर्ग

 class ListTableView: UITableViewController { var isInitUILoad = true var arrProduct = [[Product]]() var pageNo = 1 override func viewDidLoad() { super.viewDidLoad() self.initUILoad() } func initUILoad(){ ActivityIndicator.customActivityIndicatory(self.view, startAnimate: true) NetworkRequestAPI.getPropductListByCategory(productId: product_id, pageNo: pageNo) { (products, error) in DispatchQueue.main.async(execute: { if products != nil { self.pageNo += 1 self.arrProduct.append(products!) print(self.arrProduct.count) }else{ print(error.debugDescription) } ActivityIndicator.customActivityIndicatory(self.view, startAnimate: false) self.tableView?.reloadData() self.isInitUILoad = false }) } } func loadMore(complition:@escaping (Bool) -> ()) { NetworkRequestAPI.getPropductListByCategory(productId: product_id, pageNo: pageNo) { (products, error) in DispatchQueue.main.async(execute: { if error != nil{ print(error.debugDescription) } if products != nil && products?.count ?? 0 > 0{ self.pageNo += 1 self.arrProduct.append(products!) self.tableView?.insertSections([self.arrProduct.count - 1], with: .fade) }else{ print("no product left") } complition(true) }) } } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: categoryCellid, for: indexPath) as! ListTableCell var categoryObject = arrProduct[indexPath.section] cell.product = categoryObject[indexPath.item] return cell } override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { return 115.0 } override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { let footerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: footerCellid) as! HeadFooterCell if !isInitUILoad { footerView.activityIndicatorView.startAnimating() loadMore(complition: { (isDone) in footerView.activityIndicatorView.stopAnimating() }) } return footerView } override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 50 } } 

** हेडफ़ूटर सेल **

 class HeadFooterCell: UITableViewHeaderFooterView { override init(reuseIdentifier: String?) { super.init(reuseIdentifier: reuseIdentifier) setupViews() } var activityIndicatorView : UIActivityIndicatorView = { var activityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: .gray) activityIndicatorView.backgroundColor = UIColor.cyan return activityIndicatorView }() func setupViews() { addSubview(activityIndicatorView) addConstraintsWithFormat("H:|[v0]|", views: activityIndicatorView) addConstraintsWithFormat("V:|[v0(50)]|", views: activityIndicatorView) } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } } 

Solutions Collecting From Web of "स्विफ्ट टेबलव्यू फूटर गतिविधि इंडिकेटर फेसबुक जैसा दिखें अधिक डेटा लोड करने के लिए नीचे स्क्रॉल करते समय"