tableView下拉加载 请问有经验的大神们,我现在想让tableView存聊天记录,只显示10条,下拉一下刷新,加载10条,一直到聊天记录显示完。在网上找了demo用。EGORefreshTableHeaderView。应该很多人都用过,但是用这个demo只能下拉刷新,我是想下拉一次加载10个,数据源是存在数据库里的存取没有问题。tableView下拉加载 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以下代码是我scrollView代码实现滑动下载的核心代码。希望对你有参考作用。//szVision--表示可见的范围//szItem -- 表示每个显示在scrollview的单品尺寸//szDiff -- 表示每个item之间的距离-(NSMutableSet*)getDownloadIndexSetForVerticalStyle:(int)nColNums{ assert(self.showsVerticalScrollIndicator == YES); if(self.contentOffset.y<0) return nil; NSMutableSet* setVisionIndex = [[NSMutableSet alloc]init]; int nUpExposeHeight = 0; int nVisionRowNums = 0; int nVisionStartRowMark = -1;//无效值-1,最小值为0, 后续加1 if(self.contentOffset.y >= -0.1 && self.contentOffset.y<=0.1) { nUpExposeHeight = 0; if(self.szVision.height < self.szItem.height) { //获取第一行所有item的编号 nVisionRowNums = 1; nVisionStartRowMark = 0; [self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums]; } else { nVisionStartRowMark = 0; nVisionRowNums = (( (self.szVision.height-self.szItem.height)+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) ) + 1; [self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums]; } } else if( (self.contentOffset.y<=self.szItem.height) && (self.contentOffset.y>0) ) { nVisionStartRowMark = 0; nUpExposeHeight = self.szItem.height - self.contentOffset.y; int nLeaveVisionHeight = self.szVision.height - nUpExposeHeight; nVisionRowNums = ( (nLeaveVisionHeight+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) ) + 1; [self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums]; } else { nVisionStartRowMark = ( ((self.contentOffset.y-self.szItem.height)+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) ); nUpExposeHeight = (nVisionStartRowMark*(self.szDiff.height+self.szItem.height)+self.szDiff.height) - self.contentOffset.y; int nLeaveVisionHeight = self.szVision.height - nUpExposeHeight; nVisionRowNums = ( (nLeaveVisionHeight+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) ) + 1; [self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums];//SV_CLOTHES_COL_NUMS } return setVisionIndex;} mac的基础问题求教 App开发者的江湖之九:“APP孵化器”让开发者解决推广难题 上传程序到 苹果商城 要花钱吗 流程大概怎么样 急~跪谢~~ 那位大仙给个ipad播放视频例子。。? 我做iphone开发用,什么版本的mac os好,要免费的 关于navigationController 返回上问题 望有高人指点一下如何学习ios开发这方面的东西~~ iOS启动图更换 ios怎么跳转百度地图 tabelViewCell加载出来不显示图片,点哪行出哪张,要么在手动刷新一次就全出 MAC用什么软件打开PDM文件 ipone文档的具体位置
//szVision--表示可见的范围
//szItem -- 表示每个显示在scrollview的单品尺寸
//szDiff -- 表示每个item之间的距离
-(NSMutableSet*)getDownloadIndexSetForVerticalStyle:(int)nColNums
{
assert(self.showsVerticalScrollIndicator == YES);
if(self.contentOffset.y<0)
return nil;
NSMutableSet* setVisionIndex = [[NSMutableSet alloc]init];
int nUpExposeHeight = 0;
int nVisionRowNums = 0;
int nVisionStartRowMark = -1;//无效值-1,最小值为0, 后续加1
if(self.contentOffset.y >= -0.1 && self.contentOffset.y<=0.1)
{
nUpExposeHeight = 0;
if(self.szVision.height < self.szItem.height)
{
//获取第一行所有item的编号
nVisionRowNums = 1;
nVisionStartRowMark = 0;
[self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums];
}
else
{
nVisionStartRowMark = 0;
nVisionRowNums = (( (self.szVision.height-self.szItem.height)+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) ) + 1;
[self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums];
}
}
else if( (self.contentOffset.y<=self.szItem.height) && (self.contentOffset.y>0) )
{
nVisionStartRowMark = 0;
nUpExposeHeight = self.szItem.height - self.contentOffset.y;
int nLeaveVisionHeight = self.szVision.height - nUpExposeHeight;
nVisionRowNums = ( (nLeaveVisionHeight+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) ) + 1;
[self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums];
}
else
{
nVisionStartRowMark = ( ((self.contentOffset.y-self.szItem.height)+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) );
nUpExposeHeight = (nVisionStartRowMark*(self.szDiff.height+self.szItem.height)+self.szDiff.height) - self.contentOffset.y;
int nLeaveVisionHeight = self.szVision.height - nUpExposeHeight;
nVisionRowNums = ( (nLeaveVisionHeight+(self.szDiff.height+self.szItem.height-1)) / (self.szDiff.height+self.szItem.height) ) + 1;
[self pushVisionIndexToSet:&setVisionIndex withVSRM:nVisionStartRowMark withVRN:nVisionRowNums withCN:nColNums];//SV_CLOTHES_COL_NUMS
}
return setVisionIndex;
}