【发布时间】:2014-08-25 11:13:48
【问题描述】:
编辑代码.. 你好 frds,当我点击那个按钮时,我在 UIScrollview 中有一个按钮,然后我得到 btn.tag,所以之后我想以编程方式滚动 UITableView。 这是我的代码。
//-- Custom Scrollview--//
- (void)loadscrollViews
{
int a =[DBConnection rowCountForTable:@"DD_Pic_Tags_Comments" where:[NSString stringWithFormat:@"img_Moment_id=%@",STR_Select_moment_id_for_timelinepage2]];
numofimageinscrollview=a;
int x=0;
for (int i = 0; i < a; i++)
{
UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
btn.frame=CGRectMake(x, 0,scrollView.frame.size.height,scrollView.frame.size.height);
btn.tag=i;
UIImage *image = [UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.jpg",Pathforimage,[[Array_result objectAtIndex:i] objectForKey:@"img_File_Name"]]];
[btn setImage:image forState:UIControlStateNormal];
[btn addTarget:self action:@selector(imageClick:) forControlEvents:UIControlEventTouchUpInside];
[scrollView addSubview:btn];
scrollView.contentSize=CGSizeMake((i+2)*scrollView.frame.size.height,scrollView.frame.size.height);
x+=scrollView.frame.size.height+5;
}
}
-(void)imageClick:(id)sender
{
UIButton *btn=(UIButton *)sender; //UIScrollView Button
int count = (int)btn.tag;
NSLog(@"click on small image in Scrollview>> count = %d",count);
NSIndexPath *indexpath=[NSIndexPath indexPathForRow:count inSection:0]; //Set Count For RoW
NSLog(@"%d %d",indexpath.row,indexpath.section);
[self.Table reloadData];
[self.Table scrollToRowAtIndexPath:indexpath
atScrollPosition:UITableViewScrollPositionTop
animated:NO];
}
得到类似的错误,
2014-08-25 16:34:27.757 Omoment[5163:60b] click on small image in Scrollview>> count = 2
2014-08-25 16:34:27.758 Omoment[5163:60b] 2 0
2014-08-25 16:34:27.761 Omoment[5163:60b] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[UITableView _contentOffsetForScrollingToRowAtIndexPath:atScrollPosition:]: row (2) beyond bounds (0) for section (0).'
*** First throw call stack:
libc++abi.dylib: terminating with uncaught exception of type NSException
但是, 应用程序崩溃,但是当我设置 NSIndexPath *indexpath=[NSIndexPath indexPathForRow:1 inSection:0]; //当时app没有crash,&uitableview没有输出,&scrollview也没有滚动..
【问题讨论】:
-
您正在将按钮添加到滚动视图。那么tableview是从哪里来的呢?
标签: uitableview ios7 scroll custom-cell