上拉查看详情和下拉隐藏详情
https://blog.csdn.net/liuzonrze/article/details/71409544
https://blog.csdn.net/qq_24513469/article/details/51490002
http://www.code4app.com/thread-32792-1-1.html
- 原文链接:
来源:http://www.2cto.com/kf/201507/419749.html -
基本思路:
1、设置一个 UIScrollView 作为视图底层,并且设置分页为两页
2、然后在第一个分页上添加一个 UITableView 并且设置表格能够上提加载(上拉操作即为让视图滚动到下一页)
3、 在第二个分页上添加一个 UIWebView 并且设置能有下拉刷新操作(下拉操作即为让视图滚动到上一页)ps:以上所提及UITableView与UIWebView 可以自行更改为其他滚动控件也是可行的
实现需要的第三方支持:MJRefresh
关于此第三方,可参考:githua 地址 请点击此处以下是具体代码实现:
定义宏:
12<codeclass="hljs"cs="">#define IPHONE_W ([UIScreen mainScreen].bounds.size.width)#define IPHONE_H ([UIScreen mainScreen].bounds.size.height)</code>@interface 部分
1234567<codeclass="hljs"objectivec="">@interfaceViewController ()<uitableviewdatasource,uitableviewdelegate>@property(strong,nonatomic)UIScrollView *scrollV;@property(strong,nonatomic)UITableView *tableV;@property(strong,nonatomic)UIWebView *webV;@end</uitableviewdatasource,uitableviewdelegate></code>@implementation 部分
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899<codeclass="hljs"objectivec="">- (void)viewDidLoad {[superviewDidLoad];//控件添加到视图上/*** 设置一个 UIScrollView 作为视图底层,并且设置分页为两页* 然后在第一个分页上添加一个 UITableView 并且设置表格能够上提加载(上拉操作即为让视图滚动到下一页)在第二个分页上添加一个 UIWebView 并且设置能有下拉刷新操作(下拉操作即为让视图滚动到上一页)*/[self.view addSubview:self.scrollV];[self.scrollV addSubview:self.tableV];[self.scrollV addSubview:self.webV];//设置UITableView 上拉加载self.tableV.footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{//上拉,执行对应的操作---改变底层滚动视图的滚动到对应位置//设置动画效果[UIView animateWithDuration:0.5delay:0.0options:UIViewAnimationOptionLayoutSubviews animations:^{self.scrollV.contentOffset = CGPointMake(0, IPHONE_H);} completion:^(BOOL finished) {//结束加载[self.tableV.footer endRefreshing];}];}];//设置UIWebView 有下拉操作self.webV.scrollView.header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{//下拉执行对应的操作self.scrollV.contentOffset = CGPointMake(0,0);//结束加载[self.webV.scrollView.header endRefreshing];}];}-(void)viewWillAppear:(BOOL)animated{[self.webV loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@http://www.baidu.com]]];}#pragma mark -- UITableView DataSource && Delegate//返回表格分区行数- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{return20;}//定制单元格内容- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{UITableViewCell *cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];cell.textLabel.text = [NSString stringWithFormat:@%ld--%ld,indexPath.section,indexPath.row];returncell;}#pragma mark ---- get-(UIScrollView *)scrollV{if(_scrollV == nil){_scrollV = [[UIScrollView alloc]initWithFrame:CGRectMake(0,0, IPHONE_W, IPHONE_H)];_scrollV.contentSize = CGSizeMake(IPHONE_W, IPHONE_H *2);//设置分页效果_scrollV.pagingEnabled = YES;//禁用滚动_scrollV.scrollEnabled = NO;}return_scrollV;}-(UITableView *)tableV{if(_tableV == nil){_tableV = [[UITableView alloc]initWithFrame:CGRectMake(0,0, IPHONE_W, IPHONE_H) style:UITableViewStylePlain];_tableV.delegate = self;_tableV.dataSource = self;}return_tableV;}-(UIWebView *)webV{if(_webV == nil){_webV = [[UIWebView alloc]initWithFrame:CGRectMake(0, IPHONE_H, IPHONE_W, IPHONE_H)];}return_webV;}- (void)didReceiveMemoryWarning {[superdidReceiveMemoryWarning];// Dispose of any resources that can be recreated.}@end</code>

浙公网安备 33010602011771号