国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Swift > 正文

Swift開發(fā)之使用UIRefreshControl實(shí)現(xiàn)下拉刷新數(shù)據(jù)及uirefreshcontrol使用

2020-03-09 17:53:06
字體:
供稿:網(wǎng)友
本文給大家介紹使用UIRefreshControl實(shí)現(xiàn)下拉刷新數(shù)據(jù),及UIRefreshControl的使用步驟,對本文感興趣的朋友一起學(xué)習(xí)吧
 

想要下拉刷新表格數(shù)據(jù),上拉加載新數(shù)據(jù),網(wǎng)上有許多第三方的實(shí)現(xiàn)類。

而如果僅僅需要實(shí)現(xiàn)下拉刷新數(shù)據(jù)的話,那么使用 UIRefreshControl 就足夠了,簡單有好用。

1.UIRefreshControl 的使用步驟:

(1)創(chuàng)建 UIRefreshControl,并設(shè)置文字,顏色等信息。
(2)將 UIRefreshControl 添加到tableview視圖中。
(3)給 UIRefreshControl 添加方法,當(dāng)值改變的時(shí)候調(diào)用,用于數(shù)據(jù)請求刷新。
(4)請求數(shù)據(jù)確認(rèn)完成之后,調(diào)用endRefreshing方法,關(guān)閉刷新。

2.效果圖如下

 Swift開發(fā)之使用UIRefreshControl實(shí)現(xiàn)下拉刷新數(shù)據(jù)及uirefreshcontrol使用

3.代碼如下

import UIKitclass ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { //新聞列表 @IBOutlet weak var newsTableView: UITableView! //新聞數(shù)組集合 var dataArray:[HanggeArticle] = [HanggeArticle]() //拉刷新控制器 var refreshControl = UIRefreshControl() override func viewDidLoad() {  super.viewDidLoad()  self.automaticallyAdjustsScrollViewInsets = false  //添加刷新  refreshControl.addTarget(self, action: "refreshData",   forControlEvents: UIControlEvents.ValueChanged)  refreshControl.attributedTitle = NSAttributedString(string: "下拉刷新數(shù)據(jù)")  newsTableView.addSubview(refreshControl)  refreshData() } // 刷新數(shù)據(jù) func refreshData() {  //移除老數(shù)據(jù)  self.dataArray.removeAll()  //隨機(jī)添加條新數(shù)據(jù)(時(shí)間是當(dāng)前時(shí)間)  for _ in ..< {   let atricle = HanggeArticle(title: "新聞標(biāo)題/(Int(arcrandom()%))",    createDate: NSDate())   self.dataArray.append(atricle)  }  self.newsTableView.reloadData()  self.refreshControl.endRefreshing() } // 返回記錄數(shù) func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {  return dataArray.count; } // 返回單元格內(nèi)容 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)  -> UITableViewCell {  let cell = UITableViewCell(style: UITableViewCellStyle.Subtitle,   reuseIdentifier: "myCell")  //設(shè)置單元格標(biāo)題  let atricle: HanggeArticle = dataArray[indexPath.row] as HanggeArticle  cell.textLabel?.text = atricle.title  //設(shè)置單元格副標(biāo)題  let dateFormatter = NSDateFormatter()  dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"  let str = dateFormatter.stringFromDate(atricle.createDate)  cell.detailTextLabel?.text = str  return cell; } override func didReceiveMemoryWarning() {  super.didReceiveMemoryWarning() }}//新聞結(jié)構(gòu)體struct HanggeArticle { var title:String var createDate:NSDate}

PS:UIRefreshControl的使用

1、使用范圍

如果你裝了xcode_4.5_developer_preview,那么在UITableViewController.h文件中你會(huì)看到,UITableViewController里面有如下聲明,說明UITableViewController已經(jīng)內(nèi)置了UIRefreshControl控件

 

復(fù)制代碼代碼如下:

@property (nonatomic,retain) UIRefreshControl *refreshControl NS_AVAILABLE_IOS(6_0);  

 

【注】:UIRefreshControl目前只能用于UITableViewController,如果用在其他ViewController中,運(yùn)行時(shí)會(huì)得到如下錯(cuò)誤提示:(即UIRefreshControl只能被UITableViewController管理)

2012-06-15 14:34:34.908 DevDivUIRefreshControl[722:10103] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UIRefreshControl may only be managed by a UITableViewController' *** First throw call stack: (0x186fd72 0x1066e51 0x186fb4b 0x55a559 0x57238 0x5d482 0x55ad2 0x2ebb 0xeb2a3 0xeb30e 0x10b7e9 0x10b624 0x109aef 0x10999c 0x107adc 0x1082c6 0xecf24 0xed1e0 0xee084 0x5645c 0x5cf31 0x55ad2 0x4131d 0x414f6 0x4168c 0x49871 0x10a90 0x1196a 0x222be 0x22f9f 0x153fd 0x17ccf39 0x17ccc10 0x17e5da5 0x17e5b12 0x1816b46 0x1815ed4 0x1815dab 0x1128f 0x12e71 0x29fd 0x2925) libc++abi.dylib: terminate called throwing an exception (lldb) 

2、如何使用

    a)初始化

如何在UITableViewController 中使用UIRefreshControl呢,在上面給出的代碼附件中,你可以很詳細(xì)的知道,這里介紹一下關(guān)鍵的部分:

self.refreshControl = [[UIRefreshControl alloc]init];  // self.refreshControl.tintColor = [UIColor blueColor];  self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新"];  [self.refreshControl addTarget:self action:@selector(RefreshViewControlEventValueChanged) forControlEvents:UIControlEventValueChanged]; 

如上面看到的代碼,雖然UITableViewController已經(jīng)聲明了UIRefreshControl,但是貌似還沒有初始化,所以需要我們自己初始化。很神奇,初始化的時(shí)候并不需要給它指定frame,UITableViewController會(huì)為我們進(jìn)行管理。遺憾的時(shí)目前只看到下拉刷新功能,上拉刷新還沒有,估計(jì)在最終版里面蘋果會(huì)考慮加入上拉刷新功能。
我們還可以給UIRefreshControl設(shè)置tintColor和attributedTitle。

 b)下拉刷新事件監(jiān)聽

當(dāng)用戶進(jìn)行下拉刷新操作時(shí),UIRefreshControl 會(huì)觸發(fā)一個(gè)UIControlEventValueChanged事件,通過監(jiān)聽這個(gè)事件,我們就可以進(jìn)行類似數(shù)據(jù)請求的操作了。如下代碼:

 

復(fù)制代碼代碼如下:

[self.refreshControl addTarget:self action:@selector(RefreshViewControlEventValueChanged)

 

c)進(jìn)行數(shù)據(jù)請求

在示例中,為了演示數(shù)據(jù)請求,我簡單的做了一個(gè)延時(shí)處理,2秒鐘后,調(diào)用handleData

 

復(fù)制代碼代碼如下:

[self performSelector:@selector(handleData) withObject:nil afterDelay:2];  

 

在handleData里面,就表示已經(jīng)請求到了數(shù)據(jù),在此進(jìn)行UI更新即可。也需要注意的是,我們調(diào)用UIRefreshControl 的endRefreshing方法,表示刷新結(jié)束,讓UIRefreshControl更新顯示。

- (void) handleData {  NSLog(@"refreshed");  [self.refreshControl endRefreshing];  self.refreshControl.attributedTitle = [[NSAttributedString alloc]initWithString:@"下拉刷新"];   self.count++;  [self.tableView reloadData]; } 

3、官方頭文件

下面是sdk中UIRefreshControl的聲明,想必看了下面的代碼,你已經(jīng)知道如何使用了。

// // UIRefreshControl.h // UIKit // // Copyright 2012 Apple Inc. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit/UIControl.h> #import <UIKit/UIKitDefines.h> NS_CLASS_AVAILABLE_IOS(6_0) @interface UIRefreshControl : UIControl /* The designated initializer  * This initializes a UIRefreshControl with a default height and width.  * Once assigned to a UITableViewController, the frame of the control is managed automatically.  * When a user has pulled-to-refresh, the UIRefreshControl fires its UIControlEventValueChanged event.  */ - (id)init; @property (nonatomic, readonly, getter=isRefreshing) BOOL refreshing; @property (nonatomic, retain) UIColor *tintColor UI_APPEARANCE_SELECTOR; @property (n


注:相關(guān)教程知識(shí)閱讀請移步到swift教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
超碰国产在线| 黄色在线视频观看网站| 国产麻豆视频网站| 久久国产精品黑丝| 另类高清dbsm日本tvav| 国产永久免费高清在线观看视频| 美女被人操视频在线观看| 国产中文第一页| 国产亚洲精品拍拍拍拍拍| 国产精品视频二区三区| 一级二级三级在线观看| av在线二区| 国产精品伦一区二区三区视频| 国产黄色在线免费观看| 天天草天天草| 国产区卡一卡二卡三乱码免费| 久久久久久久久亚洲精品| 最新中文字幕在线视频| 伊人春色在线| 最好2018中文免费视频| 影音先锋日韩| 国产乱视频在线观看| 国产福利在线| 国产蜜臀av在线播放| 怡红院av在线| 国产经典自拍视频在线观看| 天天插天天干| 国产精品入口麻豆免费| 青青草视频在线免费观看| 国产高清视频在线播放| 天天操人人爽| av丝袜在线| 国产精品入口麻豆免费观看| 狠狠综合久久久综合| 伊人网在线视频| 国产欧美日韩第一页| 高清av在线| 日本三级在线视频| 亚洲社区在线| 亚洲电影视频在线| 在线观看午夜av| 18成年在线观看| 国产精品剧情一区二区在线观看| 黄色国产网站在线观看| 热99re久久精品这里都是免费| av激情在线| 伊人永久在线| www.av在线视频| 超碰国产在线观看| 成人日韩欧美| 激情丁香久久| 国产黄视频网站| 97在线超碰| а√最新版在线天堂| 男人天堂网在线观看| 国产嫩草在线视频| 国产视频1区| 中文国产字幕在线观看| 99在线播放| 欧美日韩不卡中文字幕在线| 九九99精品| 国产美女极品在线| 国产网站av| 在线国产小视频| 超碰人人在线| 国产人成在线观看| 永久免费网站在线| 男人操女人免费网站| 午夜视频在线| 国产福利图片| 久久久久久77777| 国产精品欧美色图| 亚色视频在线观看| 国产精品自拍亚洲| 伊人中文字幕在线| 国产精品人人爱一区二区白浆| 国产二级片在线| 成年女人在线视频| 精精国产xxxx视频在线动漫| 国产在线观看a| 精品国产免费第一区二区| 九九在线免费视频| av在线免费播放| 国产porny蝌蚪视频| 国产麻豆精品一区二区三区v视界| 国产成人亚洲欧美电影| 福利在线视频导航| a视频在线观看免费| 国产视频97| 天堂资源中文在线| 白浆爆出在线观看| 在线中文字幕av| 国产性一级片| 国产三区视频在线观看| 豆国产97在线|亚洲| 免费看的毛片| а√天堂www在线а√天堂视频| 精品电影在线| 91麻豆福利| 在线中文字幕视频观看| 91福利在线视频| 国产成人久久精品77777| 国产一卡2卡3卡免费网站| 久热精品免费视频| 免费看成年人视频在线观看| www.狠狠操.com| 天天操中文字幕视频| 亚洲欧美综合乱码精品成人网| 在线视频99| 欧美精品日韩少妇| 成在线人视频免费视频| 国产在线免费观看| 国产午夜视频| 精品国内自产拍在线视频| 97最新国自产拍视频在线完整在线看| 国产黄色av免费看| 怡红院av在线| 国产在线观看av| 国产小视频在线| 精精国产xxxx视频在线| 久久av少妇| 午夜免费视频在线国产| 国产一卡2卡3卡4卡网站免费 | 国产欧美日本亚洲精品一4区| 国产一级免费| 国产黄网站在线观看| 亚洲欧美精品日韩欧美 | 国产青青视频| 永久免费网站在线| 久久精品视频观看| 国产经典自拍视频在线观看| 精品国产免费第一区二区| 91在线视频免费看| 福利视频在线导航| 在线中文av| 午夜视频在线免费| 碰草在线视频| 精灵使的剑舞无删减版在线观看| 亚洲成av人影片在线观看 | 国产麻豆精品一区二区三区v视界| 国产一二区在线| 女子免费在线观看视频www| 国产人成网在线播放va免费| 久久久久久久久久久久久91| 国产高清在线看| 日本h片在线观看| 国产精品yjizz视频网一二区| a视频在线观看| 国产爆初菊在线观看免费视频网站 | 国产精品视频h| 免费影视观看网站入口| 中文天堂av| 91亚洲精选| 99视频免费| 超碰国产在线| a级片国产精品自在拍在线播放| 国产精品毛片一区二区三区四区| 蜜桃av网站| 黄色国产在线| 国产精品一区牛牛影视| 日本韩国精品一区二区| 午夜在线视频播放| 羞羞视频在线观看免费| 亚洲一道本在线| 夜夜操天天干| 免费国产视频| 久草网在线视频| 国产中文在线视频| eeuss影院在线播放| 国产国产人免费人成免费视频| 最近中文字幕mv免费高清在线| 免费在线看v| 五月综合网站| 国产三级香港三韩国三级| 国产黄色免费| 亚洲人在线播放| 久久精品国产麻豆| 国产青青草在线| av亚洲在线| 狠狠狠狠狠狠操| 精品一区二区三区高清免费不卡| 国产黄色在线| а√资源新版在线天堂| www狠狠操| 最好看更新中文字幕| 国产亚洲依依| 亚洲社区在线| 最近久乱中文字幕| 亚洲综合在线不卡| 在线91av| 日本在线免费中文字幕| 国产麻豆精品高清在线播放| 国产精品美女一区二区视频| 亚洲日本伊人| 国产亚洲精品久久久网站好莱| 亚洲成人福利| 国产激情在线视频| 九九热在线观看视频| 中文字幕一区免费| 四虎影院成人|