反馈网络信息改善用户体验
為什么80%的碼農都做不了架構師?>>> ??
1、使用下拉刷新控件改善用戶體驗
1??、UITAbleViewController控件中有一個refreshControl屬性,這個屬性保持了UIRefreshControl類的一個對象指針 ,UIRefreshControl目前只能用于表視圖界面
其中self是UITAbleViewController的子類
?let rc = UIRefreshControl()
rc.attributedTitle = NSAttributedString(string: "下拉刷新")
rc.addTarget(self, action: #selector(self.refreshTableView), forControlEvents: .ValueChanged)
self.refreshControl = rc?
2??、回調函數中判斷是否正在刷新refreshing
??func refreshTableView(){
? ? ? ? if self.refreshControl?.refreshing ==? true {
? ? ? ? ? ? self.refreshControl?.attributedTitle = NSAttributedString(string: "加載中。。。。")
// ? ? ? ? ? ?查詢請求數據
? ? ? ? }
? ? }
3??、請求成功后停止控件刷新 reload方法加載數據
?self.refreshControl?.endRefreshing()
?self.refreshControl?.attributedTitle = NSAttributedString(string: "下拉刷新")
加載數據
?
2、使用等待指示器控件
1??、從技術角度說,等待指示控件可以放置中視圖中
2??、從設計規范上將,等待指示器控件應該放置中工具欄、導航欄、彈出的對話框中,請求結束時消失
?
?let aiview = UIActivityIndicatorView(activityIndicatorStyle: .Gray)
? ? ? ? self.navigationItem.titleView = aiview
? ? ? ? aiview.startAnimating()
? ? ? ? self.navigationItem.prompt = "數據加載中" //用于提示用戶
?
當接收請求時,應該停止等待指示器的旋轉,需要中數據加載中添加如下內容
?self.navigationItem.titleView = nil
? self.navigationItem.prompt = nil
停止指示器控件本應該調用stopAnimation方法,但是放中導航欄目中的等待指示器控件與其它有所不同,我們要移除這個控件,讓titl內容顯示出來
?
?
在導航控制器導航項目中,設置了titleView屬性,title屬性就不能顯示
3、使用網絡等待指示器?
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
轉載于:https://my.oschina.net/ldm95/blog/688306
總結
以上是生活随笔為你收集整理的反馈网络信息改善用户体验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式Linux裸机开发(六)——S5P
- 下一篇: logrotate切割日志rsyslog