iOS 判断UITableView是否滚动在*底部
iOS 根据判断UITableView或者UIScrollView是否滚动在*底部,然后对接收到的信息进行处理,判断新消息来的时候是否滚动,提升用户体验。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
CGFloat height = scrollView.frame.size.height;
CGFloat contentOffsetY = scrollView.contentOffset.y;
CGFloat bottomOffset = scrollView.contentSize.height – contentOffsetY;
if (bottomOffset <= height)
{
//在*底部
self.currentIsInBottom = YES;
}
else
{
self.currentIsInBottom = NO;
}
}
然后根据self.currentIsInBottom在接收消息的方法中对新消息进行处理
伪代码:
if(是本人发送的消息)
{
调用滚动方法
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.dataArray count] – 1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
else
{
if(在底部)
{
调用滚动方法
[self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.dataArray count] – 1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
}