- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我在使用使用 tableview 的应用程序时遇到错误,错误如下所示。
2012-01-19 10:19:51.442 bcode[1176:207] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: row (3) beyond bounds (3) for section (0).'
*** First throw call stack:
(0x16c3052 0x1920d0a 0x166ba78 0x166b9e9 0x68a136 0x3bfdf 0x6c2fbf 0x6c32d4 0x6c35d7 0x6d2666 0x87890e 0x878c17 0x878c86 0x62c499 0x62c584 0x2718e00 0x13614f0 0x15fa833 0x15f9db4 0x15f9ccb 0x1d05879 0x1d0593e 0x5fba9b 0x2838 0x2795 0x1)
terminate called throwing an exception(gdb)
NSRangeException,
-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]
row (3) beyond bounds (3) for section (0).
发生的事情是,当用户向下钻取我的导航 View 时,他们可以从每个 View 的 TableView 中选择一个单元格,稍后将用于构建搜索字符串。
但是,如果他们犯了错误,我允许他们返回并更改他们的选择。当用户更改父 View 的值然后仅当先前的选择超出条目数时才进入 subview 时,会发生此错误在当前的表格 View 中..
通常这不会是一个大问题,但是,在 viewDidAppear 中,我正在调用一个滚动到先前选择的单元格的方法......这显然是破坏应用程序并给我错误的原因。
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
//Scroll to previously selected value
[self.tableView scrollToRowAtIndexPath:oldCheckedIndexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
}
我怎样才能阻止它执行我已经尝试了大约 100 个不同的 if 父 View 和 subview 中的语句捕获新的索引路径并再次检查旧选择的索引路径然后设置
oldCheckedIndexPath = nil;
然而无论如何它总是设法搞砸。
最佳答案
干净的方式,假设 self
是 tableView 数据源:
检查 TableView 中的部分数:
if ( [self numberOfSectionsInTableView:self.tableView]
> oldCheckedIndexPath.section
并检查该部分的行数:
&& [self tableView:self.tableView numberOfRowsInSection:
oldCheckedIndexPath.section] > oldCheckedIndexPath.row )
{
[self.tableView scrollToRowAtIndexPath: // etc etc etc
或者,快速破解:
@try {
[self.tableView scrollToRowAtIndexPath: // etc etc etc
}
@catch ( NSException *e )
{
NSLog(@"bummer: %@",e);
}
关于iphone - scrollToRowAtIndexPath 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917812/
我正在尝试滚动表格以显示最后一个单元格。我正在使用 scrollToRowAtIndexPath 底部方法,但它花费了太多时间。我该如何解决这个问题? 最佳答案 要使用自定义时间制作动画,您可以使用以
我正在尝试以编程方式滚动表格 View ,如下编码。请注意,我增加了内容大小,因此我可以看到最后几行。我可以正确手动滚动以在顶部获取所需的索引路径,但以编程方式它不会发生。 [tableview re
我有一个非常奇怪的案例,我想听听您的意见。在我的应用程序中,我有 scrollToRowAtIndexPath 以便在侧面索引上使用选项卡时,它会跳转到单元格。直到大约 3 个月前,它一直运行良好,相
UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: section (3) beyond bounds
在我的 UITableView 中,我使用一种方法滚动到最后一个单元格: WLNetworkClient.sharedClient().createCommentWIthText(commentTex
我在使用使用 tableview 的应用程序时遇到错误,错误如下所示。 2012-01-19 10:19:51.442 bcode[1176:207] *** Terminating app due
我在使用 UITableView 时遇到问题,它似乎无法在使用 scrollToRowAtIndexPath:atScrollPosition:animated 时正确处理滚动到最后一行 这是我用来引
我对 UITableView 有疑问,尤其是 scrollToRowAtIndexPath .这里我们分别设置了section-header-height和row-height。稍后,当显示键盘时,我
我有一个 UITableView 作为 View 的 subview 。在填充表时的 ViewController 中,我突出显示其中一行并保留该行的 indexPath 记录。我在 cellforR
我有一个带有自定义单元格的表格 View ,其动态单元格高度取决于单元格内容。 我的问题如下,当我在 viewDidLoad 中以编程方式询问滚动到它工作的给定位置时,除了最后一行。有时该行出现但不完
我注意到 scrollToRowAtIndexPath:atScrollPosition:animated: 不会滚动到当前不可见的单元格,所以如果我有 100 个单元格并且我需要到达第 70 个单元
我有一个带有一些自定义单元格的表格 View 。第一个里面是一个按钮。当按下这个按钮时,我想滚动到我的表格 View 中的某个部分。我如何必须将按钮操作与 tableview 链接? 最佳答案 您可以
我是 IOS 7 的新手,我制作了一个测试应用程序,我想在检测到向左滑动时使用 scrollToRowAtIndexPath。检测到滑动,但我正在为“ self ”定义而苦苦挣扎。我收到错误消息 No
我希望我的表格 View 在第一次进入 View 时滚动到底部,但有时不会滚动到底部,有时会使我的表格消失。 (通常发生在第一次或第二次时)。 这是我的滚动代码: -(void)tableScroll
我有一个包含两个 TextField 的子类 UITableViewCell,我想知道如何使用子类中的 scrollToRowAtIndexPath? 我已经设置了 UITextField 委托(de
我正在使用 scrollToRowAtIndexPath 将我的 tableview 集中在先前选择的单元格上,但是它在手机上而不是在模拟器上测试时崩溃了应用程序。 我是这样设置的 - (void)v
我有一个非常简单的问题,但我无法弄清楚问题所在。 我正在尝试在 UITableView 上添加一个导航栏按钮,它将用户滚动到特定的行。我认为使用以下代码会很简单: @IBAction func scr
这是 How to get notified when a tableViewController finishes animating the push onto a nav stack. 的后续行
在一个应用程序中,我正在提取一个 JSON 数组并使用它来填充一个 UITableView: class TableViewController: UITableViewController, NSU
我有一个 UITableView,其中的单元格多于屏幕上显示的单元格。当我收到来 self 的数据模型的通知时,我想跳转到特定行并显示一个非常基本的动画。 我的代码是: func animateBa
我是一名优秀的程序员,十分优秀!