How can I get a uitableViewCell by indexPath?
Solution 1
[(UITableViewCell *)[(UITableView *)self cellForRowAtIndexPath:nowIndex]
will give you uitableviewcell. But I am not sure what exactly you are asking for! Because you have this code and still you asking how to get uitableviewcell. Some more information will help to answer you :)
ADD: Here is an alternate syntax that achieves the same thing without the cast.
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:nowIndex];
Solution 2
Here is a code to get custom cell from index path
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:2 inSection:0];
YourCell *cell = (YourCell *)[tblRegister cellForRowAtIndexPath:indexPath];
For Swift
let indexpath = NSIndexPath(forRow: 2, inSection: 0)
let currentCell = tblTest.cellForRowAtIndexPath(indexpath) as! CellTest
For Swift 4 (for collectionview)
let indexpath = NSIndexPath(row: 2, section: 0)
let cell = self.colVw!.cellForItem(at: indexpath as IndexPath) as? ColViewCell
Solution 3
Finally, I get the cell using the following code:
UITableViewCell *cell = (UITableViewCell *)[(UITableView *)self.view cellForRowAtIndexPath:nowIndex];
Because the class is extended UITableViewController:
@interface SearchHotelViewController : UITableViewController
So, the self
is "SearchHotelViewController".
Solution 4
For Swift 4
let indexPath = IndexPath(row: 0, section: 0)
let cell = tableView.cellForRow(at: indexPath)
Solution 5
You can use the following code to get last cell.
UITableViewCell *cell = [tableView cellForRowAtIndexPath:lastIndexPath];
phpxiaoxin
Updated on October 12, 2020Comments
-
phpxiaoxin over 3 years
How can I get a
UITableViewCell
byindexPath
? Like this:I use the
UIActionSheet
, when I click confirmUIButton
I want to change the cell text.The nowIndex I define as a property
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex == 0) { NSInteger section = [nowIndex section]; NSInteger row = [nowIndex row]; NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease]; formatter.dateFormat = @"yyyy-MM-dd"; if (section == 0) { if (row == 0) { } else if (row == 1) { UILabel *content = (UILabel *)[[(UITableView *)[actionSheet ] cellForRowAtIndexPath:nowIndex] viewWithTag:contentTag]; content.text = [formatter stringFromDate:checkInDate.date]; } else if (row == 2) { } } } }
-
phpxiaoxin over 14 yearshi david i rewrite the question ,can you see it again
-
devios1 about 11 yearsTechnically you want to call that on whatever the
dataSource
property of your tableView is set to, but usually that isself
. -
johnyu over 10 yearsNaming a class (..)View is confusing if it is a subclass of UIViewController.
-
Martín Serrano about 7 yearsIn the case of having two custom cell and I need to know which type of cell are returned on this index path. What would be the best approach to get the type?