1
lex OP -----------------------
|XXX|_______________|XXX| |XXX _______________ XXX| |XXX|///////////////|XXX| |XXX|///////////////|XXX| |XXX|////560x420////|XXX| |XXX|///////////////|XXX| |XXX|///////////////|XXX| |XXX|_______________|XXX| |XXX _______________ XXX| |___|_______________|___| |
2
lex OP 不好意思,不知道怎么发等宽字体的贴子,后还是截图吧。
http://cl.ly/0k0L323b0N2v1Y1Z2r10 |
3
mr_pppoe 2011-11-07 17:33:01 +08:00
看不到图。是不是指scroll停下来的时候,头尾的cell都只显式一半?
|
4
remus 2011-11-07 17:46:22 +08:00
lz说的是像海豚浏览器的标签效果吗?
|
6
mr_pppoe 2011-11-08 09:59:29 +08:00
@lex paging是指scroll总是停留在scrollView frame size的整数倍的位置上。
所以应该可以: 1. 把所有的cell的frame上移”cell高度的一半“ 或者 2. 把第一个cell的高度改成现在”cell高度的一半“ 前提是所有cell等高 |
7
lex OP 早上试了一下,两个做法都不行。
其实最后要实现的效果是使每次滚动的幅度不是 scrollView frame size 的整数倍,滚动到第 N 页时: tableView.contentOffset.y 应该等于 tableView.rowHeight * (N - 1) - (tableView.bounds.size.height - tableView.rowHeight) / 2 |
8
lex OP 网上找到一个滚动效果不太理想的,kPhotoOffsetY 是 (tableView.bounds.size.height - tableView.rowHeight) / 2
- (void)scrollViewDidEndDecelerating:(UITableView *)tableView { int tomove = ((int)tableView.contentOffset.y%(int)tableView.rowHeight); if(tomove < tableView.rowHeight/2) [tableView setContentOffset:CGPointMake(0, tableView.contentOffset.y-tomove- kPageOffsetY) animated:YES]; else [tableView setContentOffset:CGPointMake(0, tableView.contentOffset.y+(tableView.rowHeight-tomove)- kPageOffsetY) animated:YES]; } |
9
lex OP |