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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UIRefreshControl使用总结

發(fā)布時間:2025/3/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UIRefreshControl使用总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標準>>>

????UIRefreshControl 的使用還是比較簡單的,看一下?UIRefreshControl 的定義,基本就知道怎么用了。

????UIRefreshControl 是專門為?UITableViewController 設計的,官方不建議在非 UITableViewController 中使用。

????本文主要解決兩個問題:一是在非?UITableViewController 中使用,二是修改菊花顯示位置。

1、UITableViewController + UIRefreshControl

-?(void)viewDidLoad?{[super?viewDidLoad];UIRefreshControl?*refreshControl?=?[[UIRefreshControl?alloc]?init];[refreshControl?addTarget:self?action:@selector(refresh:)?forControlEvents:UIControlEventValueChanged];self.refreshControl?=?refreshControl; }-?(void)refresh:(UIRefreshControl?*)refreshControl {NSLog(@"start?refresh");[self?performSelector:@selector(endRefresh:)?withObject:refreshControl?afterDelay:2.0f]; }-?(void)endRefresh:(UIRefreshControl?*)refreshControl {[refreshControl?endRefreshing];NSLog(@"end?refresh"); }

2、UIViewController + UITableView(UIScrollView) +?UIRefreshControl

@interface?TableViewDemo?()?<UITableViewDataSource,?UITableViewDelegate>@property?(nonatomic,?weak)?IBOutlet?UITableView?*tableView;@end -?(void)viewDidLoad?{[super?viewDidLoad];UIRefreshControl?*refreshControl?=?[[UIRefreshControl?alloc]?init];[refreshControl?addTarget:self?action:@selector(refresh:)?forControlEvents:UIControlEventValueChanged];[self.tableView?addSubview:refreshControl]; }-?(void)refresh:(UIRefreshControl?*)refreshControl {NSLog(@"start?refresh");[self?performSelector:@selector(endRefresh:)?withObject:refreshControl?afterDelay:2.0f]; }-?(void)endRefresh:(UIRefreshControl?*)refreshControl {[refreshControl?endRefreshing];NSLog(@"end?refresh"); }

????直接集成上去,這時候你會發(fā)現(xiàn)下拉的時候,頁面會跳動一下(將UITableView 換成 UIScrollView 也會有同樣的問題)。

????既然?UIRefreshControl 是由?UITableViewController 控制的,那就讓?UITableViewController 來控制,修改代碼如下:

-?(void)viewDidLoad?{[super?viewDidLoad];UITableViewController?*tableVC?=?[[UITableViewController?alloc]?init];tableVC.tableView?=?self.tableView;UIRefreshControl?*refreshControl?=?[[UIRefreshControl?alloc]?init];[refreshControl?addTarget:self?action:@selector(refresh:)?forControlEvents:UIControlEventValueChanged];tableVC.refreshControl?=?refreshControl; }

????修改之后,重新運行,這時內(nèi)容跳動的問題沒有了。

????參考:http://stackoverflow.com/questions/12497940/uirefreshcontrol-without-uitableviewcontroller/

????對于?UIScrollView,目前沒有找到更好的解決方案,如果確實要使用的話,那就用只有一個Cell的UITableView來代替 UIScrollView。參考:http://segmentfault.com/q/1010000001823169

3、修改?UIRefreshControl 顯示的位置

????菊花默認位置是在中間,總有那么一些奇葩需求,需要將菊花顯示在其他位置。目前發(fā)現(xiàn)了兩種方式修改顯示位置,但是總體來說本質(zhì)原理應該是一樣的。

????方案一:修改?UIRefreshControl 的 bounds,從而修改其顯示位置,代碼如下:

-?(void)viewDidLoad?{[super?viewDidLoad];UIRefreshControl?*refreshControl?=?[[UIRefreshControl?alloc]?init];[refreshControl?addTarget:self?action:@selector(refresh:)?forControlEvents:UIControlEventValueChanged];self.refreshControl?=?refreshControl;CGRect?bounds?=?refreshControl.bounds;bounds.origin.x?=?50;//左移?50 //????rect.origin.x?=?-50;//右移?50bounds.origin.y?=?10;//上移?10; //????rect.origin.y?=?-10;//下移?10;refreshControl.bounds?=?bounds; }

????方案二:用一個 UIView(refreshControlContainerView) 來顯示?UIRefreshControl,通過修改?refreshControlContainerView.frame 來修改菊花的顯示位置,代碼如下:?

-?(void)viewDidLoad?{[super?viewDidLoad];UIRefreshControl?*refreshControl?=?[[UIRefreshControl?alloc]?init];[refreshControl?addTarget:self?action:@selector(refresh:)?forControlEvents:UIControlEventValueChanged];self.refreshControl?=?refreshControl;UIView?*refreshControlContainerView?=?[[UIView?alloc]?initWithFrame:CGRectMake(-50,?-10,?[UIScreen?mainScreen].bounds.size.width,?44.0f)];[self.tableView?addSubview:refreshControlContainerView];[refreshControlContainerView?addSubview:self.refreshControl]; }


4、一個個人主頁的實例

? ? 實例代碼,請看 UserHomeViewController。

5、總結(jié)

????UIRefreshControl 只適用于一些簡單、與特殊的頁面,只能實現(xiàn)“下拉刷新”,不能實現(xiàn)“上拉加載更多”。

????這里對于“下拉刷新”與“上拉加載更多”推薦使用?MJRefresh ,用法簡單。


項目源代碼:https://git.oschina.net/cavintang/refresh-control-demo.git


轉(zhuǎn)載于:https://my.oschina.net/songzhu/blog/611343

總結(jié)

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

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

主站蜘蛛池模板: 香蕉视频成人在线 | 欧美一区二区三区在线 | 欧美日韩图片 | 色乱码一区二区三区熟女 | 色国产在线 | 国产大片一区 | 色呦呦一区二区三区 | 亚洲性网站 | 成人精品一区二区三区在线 | 亚洲自拍小视频 | 久久精品一级片 | 欧美亚洲少妇 | 色悠悠国产 | 爱爱爱爱网 | 中文字幕乱码在线观看 | 99久久久无码国产精品性黑人 | 色小姐av | 亚洲九九精品 | 精品伦精品一区二区三区视频 | 69热在线| 久久久久久伊人 | 日日骚av一区二区 | av大帝在线 | 天天爱天天色 | 国产伦精品一区二区三区四区视频 | 九九热精品视频在线播放 | 免费无码不卡视频在线观看 | 国产精品久久久久久久裸模 | 色噜噜日韩精品欧美一区二区 | 国产精品国产三级国产 | 日韩专区中文字幕 | 亚洲欧美国产一区二区三区 | 伊人精品一区二区三区 | 午夜在线观看视频 | 亚日韩欧美 | 婷婷深爱五月 | 欧美日韩中文字幕一区二区 | 欧美丰满美乳xxⅹ高潮www | 91亚洲网站 | 伊人98 | 国产成人综合一区二区三区 | 超碰97人人射妻 | 欧美贵妇videos办公室 | 象人高潮调教丨vk | 娇小的粉嫩xxx极品 国产精品人人爽人人爽 | 青娱乐97| 日本一级片在线播放 | 欧美一级黄色片在线观看 | 精品理论片 | 古装做爰无遮挡三级视频 | 国产成人av一区二区三区 | 欧美一区二区视频在线观看 | 制服中文字幕 | 韩国禁欲系高级感电影 | 尤物视频在线观看 | 九七av | 三年电影在线观看 | 欧美色图另类 | 美女一区二区视频 | 日本电影大尺度免费观看 | 高h调教冰块play男男双性文 | 黑人玩弄人妻一区二区三区免费看 | 国产视频www| 18禁免费观看网站 | xxxx日本黄色 | 久久亚洲精精品中文字幕早川悠里 | 九草视频在线观看 | 日本亚洲视频 | 成人作爱视频 | 成人黄色动漫在线观看 | 韩国三级视频在线观看 | 久久丫精品国产亚洲av不卡 | 国产真实夫妇交换视频 | 日韩性生交大片免费看 | 在线观看中文字幕 | 国产精品一级黄片 | 日本久久成人 | 欧美夫妻性生活视频 | 激情视频免费观看 | 日韩中文在线观看 | 九色一区| 自拍亚洲综合 | 中文字幕 日韩有码 | 九九在线观看高清免费 | 青青青在线视频免费观看 | 欧美一级网址 | 国产日韩视频一区 | 成人高潮片免费 | 精品久久一区二区 | 欧美日一区二区 | 色一情一乱一区二区三区 | 日本激情免费 | 国产男女猛烈无遮挡a片漫画 | 国产精品美女在线 | 国产绳艺sm调教室论坛 | 欧美性色黄 | 国产淫片av片久久久久久 | 香蕉911| 女人性做爰69片免费看 |