UITableView的scrollToRowAtIndexPath:atScrollPosition:animated的崩溃

UITableView的scrollToRowAtIndexPath:atScrollPosition:animated的崩溃

[摘要:reason: ‘-[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: row (0) beyond bounds (0) for section (0). 那个毛病是传进的IndexPath已越界了。须要正在挪用之前到场判别语句,没有影响机能的情]

reason: ‘-[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: row (0) beyond bounds (0) for section (0).

这个错误是传入的IndexPath已经越界了。需要在调用之前加入判断语句,不影响性能的情况下,在调用之前要先reloadDate

代码示例:

@implementation UITableView(ScrollToTopOrBottom)

-(void)scrollToTopWithAnimated: (BOOL)animated{
    if([selfnumberOfSections]>0&&[selfnumberOfRowsInSection: 0]>0){
        [selfscrollToRowAtIndexPath: [NSIndexPathindexPathForRow: 0inSection: 0]atScrollPosition: UITableViewScrollPositionTopanimated: animated];
    }
}

-(void)scrollToBottomWithAnimated: (BOOL)animated{
    if([selfnumberOfSections]>0){
        NSIntegerlastSectionIndex=[selfnumberOfSections]-1;
        NSIntegerlastRowIndex=[selfnumberOfRowsInSection: lastSectionIndex ]-1;
        if(lastRowIndex>0){
            NSIndexPath*lastIndexPath=[NSIndexPathindexPathForRow: lastRowIndexinSection: lastSectionIndex];
            [selfscrollToRowAtIndexPath: lastIndexPathatScrollPosition: UITableViewScrollPositionBottomanimated: animated];
        }
    }
}@end
时间: 2024-10-21 13:07:23

UITableView的scrollToRowAtIndexPath:atScrollPosition:animated的崩溃的相关文章

《iOS 高级编程》之Tableview进阶指南

本章内容: ●    学习如何进阶使用UITableView,带给应用更高级的观感(look and feel) ●    学习如何开发自己定制的UITableView类,模仿iMessage应用的观感 ●    为一个基于分组的UITableView实现下钻逻辑 在iOS应用中呈现数据时,UITableView可能是最经常使用的用户界面对象.在本章中,将学习到以超越标准实现的方式使用UITableView,并理解UITableView类的工作方式.你会创建一个聊天视图控制器,它支持定制的单元格

UITableView 总结

知识点回顾: 1.TableView 2.UITableViewController 3.两个协议,一个关于数据加载的协议< UITableViewDataSource >,一个关于性外和外观的协议< UITableViewDelegate > 4.对NSIndexPath类的扩展 5.tableView的单元格cell 6.响应点击事件 一.TableView tableView继承ScrollView. 风格: tableView的风格有两种. tableViewCell的预定

UITableView 常用方法(转自CSDN)

一.概述 UITableView是iOS开发比不可少也是最重要的一个控件类.可以说任何一个做iOS开发的人都必须熟练使用和掌握它.本文主要就是提供一个学习使用TableView的指南. 要说UITableView必须要介绍他的几个亲戚:UITableViewDelegate,UITableViewDataSource,UITableViewCell.其中前两个是TableView遵守的两个protocol(别告诉我你不知道啥叫protocol哦).然后本文会再列出TableView最常用最重要的

UITableView使用指南

1) 初始化 UITableView对象 – initWithFrame:style: // 代码生成方式,如果你在nib里加的tableview不需要使用这个方法 2)配置TableView – dequeueReusableCellWithIdentifier: // 必须要实现的方法,与TableView同生同死 style property // 有两种 UITableViewStylePlain, UITableViewStyleGrouped,经常用 – numberOfRowsIn

iOS UI控件7(UITableView)

1.表格(UITableView)与表格控制器(UITableViewController) UITableView是iOS开发中常见的UI控件,本质是一个列表(单列的表格).UITableView允许自由控制行的控件,包括在表格行中添加多个字控件.UITableView继承了UIScrollView,具有UIScrollView的功能,这个UIScrollView主要封装了UITableViewCell单元格控件,因此UITableView默认可以对单元格进行滚动.默认情况下,所有UITabl

UITableView / UITableViewDataSource / UITableViewDelegate

一张图解释TableView各属性 0 UITableView Initializing a UITableView Object 初始化: - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style Configuring a Table View 配置: 1. style /** TableView样式,默认Plain */ @property(nonatomic, readonly) UITableVi

UITableView 的方法总汇

一.概述 UITableView是iOS开发比不可少也是最重要的一个控件类.可以说任何一个做iOS开发的人都必须熟练使用和掌握它.本文主要就是提供一个学习使用TableView的指南. 要说UITableView必须要介绍他的几个亲戚:UITableViewDelegate,UITableViewDataSource,UITableViewCell.其中前两个是TableView遵守的两个protocol(别告诉我你不知道啥叫protocol哦).然后本文会再列出TableView最常用最重要的

iOS5 切换中文键盘时覆盖输入框的完美解决方案

iOS5 切换中文键盘时覆盖输入框的完美解决方案 原文:http://wangsheng2008love.blog.163.com/blog/static/782016892012631102714562/ 2012-07-31 22:42:43|  分类: iOS |  标签:ios5  中文键盘  遮盖  输入框  |举报|字号 订阅 众所周知,iOS5之前,iPhone上的键盘的高度是固定为216.0px高的,中文汉字的选择框是悬浮的,所以不少应用都将此高度来标注键盘的高度(包括米聊也是这

UITableView的编辑模式

UITableView可以分普通模式和Editing模式两种,这里我们着重讨论Editing模式,Editing模式中又分三种操作:Insert.Delete. Reallocted.Insert和Delete针对数据源内容的修改,而Reallocated是针对数据源位置的修改.下面分别讨论. 一.Insert Or Delete 当UITableView接收到 setEditing:animated:时,它会将同样的消息转发给每一个可见行,大致会经历如下步骤,引用至官方: The table