私はiOS開発で新しく、現在UITableViewで作業しています。私はデバイスの画面上に最後に目に見えるセルを見つけたいですし、画面の最下部にあるセルは青色でなければなりません。セルは画面の上にスクロールすると緑色に消えます。UITableViewの最後の可視セルを検出する方法
私はこれらのリンク
しかし、成功を得ることができませんでしを通じて行っています。誰でも最後のセルを検出する方法を考えてください。&セルフェードアニメーション?
おかげ
私はiOS開発で新しく、現在UITableViewで作業しています。私はデバイスの画面上に最後に目に見えるセルを見つけたいですし、画面の最下部にあるセルは青色でなければなりません。セルは画面の上にスクロールすると緑色に消えます。UITableViewの最後の可視セルを検出する方法
私はこれらのリンク
しかし、成功を得ることができませんでしを通じて行っています。誰でも最後のセルを検出する方法を考えてください。&セルフェードアニメーション?
おかげ
*スウィフト3.0では、あなたがこのテーブルビューのメソッドを使用することができます。
FUNC用のtableView(_のtableView:のUITableView、willDisplay細胞:のUITableViewCell、forRowAt indexPath:IndexPath)
{
let intTotalrow = tableView.numberOfRows(inSection:indexPath.section)//first get total rows in that section by current indexPath.
//get last last row of tablview
if indexPath.row == intTotalrow - 1{
// call for last display
}
}*
が最後の目に見える細胞を得る:
if let lastCell = tableView.visibleCells.last {
// do something with lastCell
}
は、このコードを試してください、それは動作します
最初に宣言
int firstIndexRow;
int lastIndexRow;
のviewDidLoad(内部コードの下ライト)
[myTable reloadData]; //Reload because get visible last cell index row
firstIndexRow = 0;
lastIndexRow = (int)[self.myTable.indexPathsForVisibleRows lastObject].row;
NSLog(@"first : %d",firstIndexRow);
NSLog(@"Bottom : %d",lastIndexRow);
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSIndexPath *firstVisibleIndexPath = [[self.myTable indexPathsForVisibleRows] objectAtIndex:0];
NSIndexPath *lastObject = [self.myTable.indexPathsForVisibleRows lastObject];
firstIndexRow = (int)firstVisibleIndexPath.row;
lastIndexRow = (int)lastObject.row;
NSLog(@"first : %d",firstIndexRow);
NSLog(@"Bottom : %d",lastIndexRow);
[myTable reloadData];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [myTable dequeueReusableCellWithIdentifier:@"cell"];
if (indexPath.row == firstIndexRow) {
cell.textLabel.textColor = [UIColor blueColor];
}else if (indexPath.row == lastIndexRow) {
cell.textLabel.textColor = [UIColor greenColor];
}else{
cell.textLabel.textColor = [UIColor grayColor];
}
cell.textLabel.text =[namesArray objectAtIndex:indexPath.row];
return cell;
}
の可能性のある重複した[あなたがスクロールすると、IOSは、ボトムセルとトップセルをフェードのUITableView](https://stackoverflow.com/questions/22726103/ ios-uitableview-fade-bottom-cell-and-you-scroll) –