日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS6 新特性之UIRefreshControl

發(fā)布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS6 新特性之UIRefreshControl 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
“不會模仿的公司不是好公司不會剽竊的公司不是優(yōu)秀公司?

?不會調(diào)戲代碼的不是骨灰級碼工

?你同意嗎?

?蘋果估計想取代第三方的pull to refresh” ? ? ? ?--------------以上摘自DevDiv社區(qū)


源代碼參考了DevDiv社區(qū)的代碼 地址:http://www.devdiv.com/iOS_iPhone-iOS6%E6%96%B0%E7%89%B9%E5%BE%81%EF%BC%9AUIRefreshControl_%E4%B8%8B%E6%8B%89%E5%88%B7%E6%96%B0_%E4%BD%BF%E7%94%A8%E7%A4%BA%E4%BE%8B-thread-127741-1-1.html


如上述摘文最后一句所言,在蘋果IOS6的新特性中有一個叫做UIRefreshControl的控件,顧名思義,它的用途正是 pull to refresh。

在進(jìn)入到代碼層面上的解釋前,需要先說一點:在IOS6中?只有UITableViewController能夠使用UIRefreshControl控件,其他的viewController如果使用了,會報錯。


要使用UIRefreshControl需要有3個步驟 ? 一、初始化以及配置 ? 二、與UItableViewController以及相應(yīng)動作的關(guān)聯(lián)? 三、為UIRefreshControl控件添加動作


首先 先看初始化:(這里的self是UITableViewController 即以下代碼是寫在一個UITableViewController.m中的)


? ? ?self.refreshControl?= [[UIRefreshControl?alloc]?init];//refreshControl寫成了UITableViewController的屬性

? ? ?self.refreshControl.tintColor?= [UIColor?blueColor];//將控件顏色設(shè)為藍(lán)色

? ? ?self.refreshControl.attributedTitle?= [[NSAttributedString?alloc]?initWithString:@"下拉刷新"]; ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ??

? ???//UIRefreshControl控件對應(yīng)的文字文字當(dāng)然是可以更改的從而可以顯示??刷新中下拉刷新等提示語


以上 代碼便是UIRefreshControl的初始化以及兩個屬性的配置

? ? 涉及到 1個初始化方法init 和兩個屬性tintColor(控件顏色)?attributedTitle(匹配的文字)

? ? ? ? ? ? ? ? ? ? ? ? 這里attributedTitle要注意其類型是NSAttributedString?

? ? ? ? ? ? ? ? ? ? ? ? 這類字符串的特性是可以分為好幾段 然后編輯成不同的字體類型(包括不同顏色)


注意:在UITableViewController的viewdidload方法中 添加這些代碼

接下來是第二個步驟?與UItableViewController以及相應(yīng)動作的關(guān)聯(lián)


?在初始化完成之后 加上該語句:[self.refreshControl?addTarget:self?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? action:@selector(RefreshViewControlEventValueChanged) ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? forControlEvents:UIControlEventValueChanged];

?addTarget:self ?即完成了與UITableViewController的管理 (self即是UITableVIewController)

??action:@selector(RefreshViewControlEventValueChanged) ? ?即完成了與相應(yīng)動作的關(guān)聯(lián) (雖然動作還沒寫)


最后的步驟便是添加相應(yīng)動作

??

?見代碼:

? ??-(void)RefreshViewControlEventValueChanged

{

????if?(self.refreshControl.refreshing) {

????????NSLog(@"refreshing");

????????self.refreshControl.attributedTitle?= [[NSAttributedStringalloc]initWithString:@"刷新中"];


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

??? }

}


這里涉及到了UIRefreshControl控件的最后一個屬性 refreshing ?該屬性為真 意味著執(zhí)行了下拉操作 即你拉的夠用力- -有效果。

之后 便可以實現(xiàn)你需要的效果 這里時為UITableView增加一行


PS:在以上的代碼中 漏掉了2個實例方法

? ??beginRefreshing?和?endRefreshing 一個開始刷新 一個結(jié)束刷新(這個代碼中實際上用到了 在handleData里面)


最后 想下載源代碼的同學(xué) 可以訪問文章開頭的地址 然后回復(fù)下載

轉(zhuǎn)載于:https://www.cnblogs.com/zsw-1993/p/4879635.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的IOS6 新特性之UIRefreshControl的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。