- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 ViewController 中创建了一个 UITableView
。当viewdidload
时,我通过
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"tableViewCell"];
这是 UITableview
delegate 和 datasource 中的代码
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 25;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 100;
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 1;
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"visible cell: %d",[[self.tableView visibleCells] count]);
static NSString* CellIdentifier = @"tableViewCell";
UITableViewCell* cell = cell;
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil){
NSLog(@"nil -> create new");
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
else{
NSLog(@"not nil reuse cell success");
}
[cell.textLabel setText:[NSString stringWithFormat:@"%d",indexPath.row]];
return cell;
}
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"will display: %d",indexPath.row);
}
结果如下,当我向下滚动表格 View 时,会显示这些单元格的日志显示单元格。但是当我滚动到底部并滚动到顶部时。 willDisplayCell 中的登录未显示。并且可见单元格的数量不断增加到 25。因此 tableview 似乎认为所有 25 个单元格仍然可见。但在屏幕上一次只会显示 5-6 个单元格。
我猜可能是静态cell和动态cell的问题?我想我正在使用动态的。因为从 dequeueReusableCellWithIdentifier 得到的单元格总是不为零。
这是输出
2014-04-18 10:51:22.101 [5834:60b] visible cell: 6
2014-04-18 10:51:22.103 [5834:60b] not nil reuse cell success
2014-04-18 10:51:22.104 [5834:60b] will display: 6
2014-04-18 10:51:22.401 [5834:60b] visible cell: 7
2014-04-18 10:51:22.403 [5834:60b] not nil reuse cell success
2014-04-18 10:51:22.405 [5834:60b] will display: 7
2014-04-18 10:51:22.767 [5834:60b] visible cell: 8
2014-04-18 10:51:22.769 [5834:60b] not nil reuse cell success
2014-04-18 10:51:22.771 [5834:60b] will display: 8
2014-04-18 10:51:23.451 [5834:60b] visible cell: 9
2014-04-18 10:51:23.453 [5834:60b] not nil reuse cell success
2014-04-18 10:51:23.455 [5834:60b] will display: 9
2014-04-18 10:51:23.551 [5834:60b] visible cell: 10
2014-04-18 10:51:23.552 [5834:60b] not nil reuse cell success
2014-04-18 10:51:23.554 [5834:60b] will display: 10
2014-04-18 10:51:23.768 [5834:60b] visible cell: 11
2014-04-18 10:51:23.769 [5834:60b] not nil reuse cell success
2014-04-18 10:51:23.772 [5834:60b] will display: 11
2014-04-18 10:51:24.067 [5834:60b] visible cell: 12
2014-04-18 10:51:24.069 [5834:60b] not nil reuse cell success
最佳答案
- (NSArray *)indexPathsForVisibleRows
例如:
NSArray indexArray = [self.tableView indexPathsForVisibleRows];
关于ios - UITableView Cell visibleCells数组出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23146717/
我遇到了一个问题,其中 CellIsInVisibleRange函数选择它不应该选择的单元格。 循环的代码如下: wCount = 0 loopCount = 0 For Each w
我正在使用 UITableViewController。 UITableView 显示 11 个自定义单元格。其中 10 个是动态的,1 个是静态的。 尽管如此计算行数: let cells = se
override func viewDidDisappear(_ animated: Bool) { tableView.visibleCells.forEach {
我正在尝试在 xcode 4.5 中使用自动化编写测试脚本。 我有一个 UICollectionView,我想点击一些当前不可见的单元格。 Per documentation ,我应该期望 cells
我正在尝试在初始加载时为表格 View 单元格设置动画。动画适用于所有单元格,除了表格底部的最后一个单元格拒绝动画。 这是因为 UITableView.visibleCells 最后没有返回这个单元格
我有许多自定义单元格对象(UITableViewCell 的子类),其中包含一些值,以允许用户在单个单元格(如步进器或其他东西)内进行交互。这些值存储在自定义单元格类中,因为调用 TableView
一个明显可见且全宽的内容 TableView 怎么会没有可见的单元格?为什么 tableview.visibleCells 为空? 最佳答案 我最好的猜测是,您在表格 View 有机会填充自身之前调用
目前我有包含 4 个单元格的 Collection View 。这是一个水平 collectionView,每个显示一个单元格,因此每次有一个单元格应该显示自己。当我旋转我的设备时,每个屏幕一个单元格
我有一个实现延迟加载的 UICollectionView, - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSArray * arrayOfVisibleTVC=[BNUtilitiesQuick ListController].tableViewA.visibleCells; NSLog(@"array
当单元格进出设备屏幕时,我希望我的 viewController 准确知道什么进来了,什么出去了。有办法做到这一点吗? 最佳答案 没有专门针对“可见单元格”的委托(delegate)方法。当单元格离开
我有一个 tableView。我使用 CADisplayLink 调用一些滚动 tableView 的代码。我这样做是因为我想自定义滚动所需的时间,而不是使用 UITableView 方法。 我想要一
在 Collection View 中,我想知道 Collection View 中显示的第一项。我想我会查看 visibleCells 并将成为列表中的第一项,但事实并非如此。 最佳答案 针对 Sw
我想知道 UICollectionView 的 visibleCells 属性的计数何时更改。我知道我可以观察继承自 NSObject 的对象,只要我想观察的属性是 dynamic。例如: let v
我创建了一个custom UITableViewCell包含一个collectionView。此自定义单元格符合 UICollectionViewDelegate 和 UICollectionView
当我打印可见单元格时,它会显示两种类型的单元格,请参见下文po cells ▿ 2 elements - 0 : > ▿ 1 : > 但是当我尝试获取单元格对象时,它返回 false (lldb) p
我想对可见单元格进行更改,以便它们反射(reflect)对基础业务对象(数组中的对象,与表中单元格的索引和数组中的对象相关)所做的更改。 我只需要找出表中单元格的索引或indexPath。因此,如果有
我正在使用间隔为 1.1 秒的 NSTimer,计时器正确触发,但(大部分)在滚动 UITableView.visibleCells 时不更新响应,响应包含不可见的单元格。 下面是我的 Swift 代
我有一个自定义的 UICollectionView 并且单元格加载到 cellForItemAt 中但是当我尝试使用 visibleCells 获取所有可见单元格时我没有获取所有单元格. 例如,在 c
我的 Collection View 就像上面一样,当选定的单元格全部消失时我正在调用一个 Action : - (IBAction)clearAction:(UIButton *)sender {
我是一名优秀的程序员,十分优秀!