ios 屏幕内容超过屏幕大小问题。可以上下滚动 30

我是ios新手,刚刚学ios,我想知道像淘宝/京东那样的iosApp,首页中有很多产品信息,手机屏幕一开始只显示部分内容,但可以通过手指上下滑动来查看底下的内容。求指点这... 我是ios新手,刚刚学ios,我想知道像 淘宝/京东那样的ios App,首页中有很多产品信息,手机屏幕一开始只显示部分内容,但可以通过手指上下滑动来查看底下的内容 。求指点这是怎么实现的。我看了一些参考书大多数的demo 都只在一屏幕上布置UI元素,或者UITableView实现滚动。求指点,万分感谢。!(希望能说的详细点)。 展开
 我来答
伏千柳0J4
2017-07-03 · 超过44用户采纳过TA的回答
知道小有建树答主
回答量:84
采纳率:66%
帮助的人:41.3万
展开全部
  1. 把所有内容添加到UIScrollview中

  2. 判断scrollview的contentsize的高度是否超过屏幕高度,如果超过屏幕高度,那么就可以滚动.如果没有超过屏幕高度就不可以滚动.

    如果还有什么不明白的,回复我给你解决


像你说的这个类似于淘宝之类的 都是UITableview或者UICollectionView写的.你上网看看UITableview的实现,我先给你一些简单的实现逻辑 你看看

1. 在viewcontroller里 声明成员变量

@property (nonatomic, strong) UITableView * tableView;

2. 懒加载 重写getter方法 ,注意下 下面的那两个代理是最重要的,用来你显示UI和交互的

- (UITableView *)tableView{

if (!_tableView) {

_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 44, SCREEN_WIDTH, SCREEN_HEIGHT - 64 ) style:UITableViewStyleGrouped];

_tableView.delegate = self;//代理是最重要的

_tableView.dataSource = self;//代理是最重要的

_tableView.backgroundColor = [UIColor clearColor];

_tableView.showsVerticalScrollIndicator = NO;

[_tableView registerNib:[UINib nibWithNibName:@"KBNoticeTableViewCell" bundle:nil] forCellReuseIdentifier:@"KBNoticeTableViewCell"];

}

return _tableView;

}

3.  在viewdidload里 把tableview添加到view上 

[self.view addSubview:self.tableView];

4. 实现UITableview的代理方法

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return self.dataArray.count;//返回一共有多少行.可以根据不同的组返回不同的行数.

}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

return 75;//返回每一行cell的高度.可以不同的行返回不同的高度

}


- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{

return CGFLOAT_MIN;//返回header的高度,没有的话返回最小值

}


- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{

return CGFLOAT_MIN;//返回footer的高度  没有的话返回最小值,

}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

//创建某一行cell 我用的是xib注册的cell

KBNoticeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"KBNoticeTableViewCell" forIndexPath:indexPath];

cell.dataDic = self.dataArray[indexPath.row];

return cell;

}


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

//点击某一行cell

}

这样你就能实现一个你说的那个功能了.还不懂你就百度查查UITableview的实现,很多简书都写了入门级别的教程

角落里的幻觉
2014-02-19 · TA获得超过1846个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:528万
展开全部
不知道我理解错没,你问的可能是上拉刷新怎么实现的问题,算是属于掌握基础知识以后的进阶学习内容。实现后的效果是,超出当前屏幕的内容,通过上拉再加载,已经有很多控件了。这里给你附上几个论坛里的Demo,你可以自己下代码跑起来看,不懂再问。另外,cocoachina是苹果开发的论坛,包括iOS跟MacOS上的开发,以后你可以多去那里看看帖子跟示例代码,祝进步神速。
http://code.cocoachina.com/detail/170685/AH3DPullRefresh/
http://www.cocoachina.com/bbs/read.php?tid=170678
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Fairy_炀
2014-02-19 · TA获得超过436个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:216万
展开全部
列表形式的数据显示用UITableView,不是列表形式的想实现滚动用UIScrollView,其实TableView就是在ScrollView的基础上做的新功能,父类就是ScrollView。
你只要新建一个UIView,设置成你需要的大小,在上面摆UI,然后addSubView成为ScrollView的子视图,设置ScrollView的contentSize为这个view的size就可以实现滚动了。都是很基本的东西,多做做就会了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2014-02-19
知道答主
回答量:30
采纳率:0%
帮助的人:12.9万
展开全部
手指向上向下滑动,或者两个手指进行缩放,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式