Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何使用indexpath值将uitableview选择居中_Iphone_Ios_Uitableview_Nsindexpath - Fatal编程技术网

Iphone 如何使用indexpath值将uitableview选择居中

Iphone 如何使用indexpath值将uitableview选择居中,iphone,ios,uitableview,nsindexpath,Iphone,Ios,Uitableview,Nsindexpath,我正在保存子视图中的indexPath选择,并将其传递给具有委托的父视图。当我从主视图返回到子视图时,我将indexPath传递给它,并在tableviewcell的附件视图中用勾号向用户显示他们之前选择的单元格 一个问题是,如果用户从一个相当大的列表中选择了一个单元格,那么很难找到他们再次选择的单元格,以防他们想要更改它(因为他们犯了一个错误) 我想知道它们是否是一种使用indexPath或类似于将uitableview先前选择的单元格居中到屏幕中心的方法 更新:: 下面是我试图实现的图形视图

我正在保存子视图中的indexPath选择,并将其传递给具有委托的父视图。当我从主视图返回到子视图时,我将indexPath传递给它,并在tableviewcell的附件视图中用勾号向用户显示他们之前选择的单元格

一个问题是,如果用户从一个相当大的列表中选择了一个单元格,那么很难找到他们再次选择的单元格,以防他们想要更改它(因为他们犯了一个错误)

我想知道它们是否是一种使用indexPath或类似于将uitableview先前选择的单元格居中到屏幕中心的方法

更新::

下面是我试图实现的图形视图,以使其更易于理解

第一步:选择单元格,然后转到子视图,选择要传递回主视图的单元格(值)(保存选定单元格的索引)

第二步:用户可能想更改其选择,或者犯了一个错误,需要选择他们选择的单元格下方的单元格。。。重复前面的步骤,但在视图中心显示以前选择的单元格


UITableView是UIScrollView的一个子类-尝试设置内容偏移量(计算单元格高度和索引XPath的偏移量)


应该有用。你可能想用不同的方式来计算

您是否尝试过以下功能

[tableView scrollToRowAtIndexPath: atScrollPosition:UITableViewScrollPositionMiddle animated:YES]

我会在viewdidload或其他方法中调用它吗?我不确定我是否完全理解应用程序的设计,但从我收集的信息来看,当您选择新单元格时,您希望将表滚动到以前选择的单元格,并使用委托将indexPath发送到父视图。我想象一下,当这种情况发生时,您希望这样做,所以在您选择新单元格时调用的委托方法中设置它。这是否是
单元格可重用性的问题?将先前选定的uitableview单元格居中于屏幕中心是什么意思?
??重用性没有问题,将单元格居中于屏幕中心是什么意思?我的意思是,当用户从子视图中选择单元格时,他们会立即返回主视图。。。如果他们意识到他们选择了错误的单元格,我希望他们能够返回子视图并更改他们的选择。。。但是,如果他们在tableview中选择了某个内容,则会使他们很难再次找到所选内容。。。因此,我希望在为用户加载视图后立即将其(先前选择的单元格)放在屏幕中央。是的,ScrollToIndexPath应该可以工作;)图像处理得很好。谢谢:)还在处理,因为我遇到了一些奇怪的错误..哇。。这正是我想要的。。我读了一本关于它的书,应该好好工作。。但是,当我第一次加载表时尝试使用它时,我遇到了一个错误,我没有设置“oldCheckedData”。。[self.tableView scrollToRowatinexpath:oldCheckedData at ScrollPosition:uitableView ScrollPositionMiddle:YES];我很高兴它有用。如果未设置oldCheckedData,可能您可以使用[NSIndexPath indexPathForRow:0第0节:0]对其进行初始化,以便第一次滚动到表的顶部。如果(oldCheckedData!=NULL){[self.tableView scrollToRowatinexpath:oldCheckedData atScrollPosition:UITableViewScrollPositionMiddle动画:YES];}但是我在-[UITableView\u createPreparedCellForGlobalRow:WithindXPath:],/SourceCache/UIKit_Sim/UIKit-1448.89/UITableView.m:5678**中不断收到此错误***断言失败-[UITableView]显示:(BOOL)动画方法。这将确保在将视图添加到窗口后调用该函数。或者,您也可以在视图中使用它。将显示:方法…尝试在if条件中使用[oldCheckedData length],而不是oldCheckedData!=NULL
[tableView scrollToRowAtIndexPath: atScrollPosition:UITableViewScrollPositionMiddle animated:YES]