2017-12-15 2 views
1

Ich erstellte eine benutzerdefinierte Zelle, die eine Beschriftung und eine Schaltfläche enthält. Diese XIB ist in einer anderen Tableview-Klasse registriert. Jetzt muss ich den Indexpfad der Schaltfläche kennen, um eine weitere Zeile in der Tabellenansicht einzufügen, wenn ich auf die Schaltfläche klicke.So erhalten Sie einen benutzerdefinierten Zelleigenschaftsindexpfad in einer anderen Klasse in Zielsprache 0

Sample image

+0

Sie die indexPath als Eigenschaft hinzufügen und es in der cellForRow Methode –

+0

Like this eingestellt? in Zelle für RowAtIndexPath {cell.buttonIndexPath = indexpath; } –

Antwort

1

du versuchen,

- (void)btnAction:(id)sender 
{ 
    NSIndexPath *indexPath; 

    id vwSuperView = sender; 

    while (![vwSuperView isKindOfClass:[UITableViewCell class]]) 
    { 
     vwSuperView = [vwSuperView superview]; 
    } 

    indexPath = [self.tableView indexPathForRowAtPoint:[(UITableViewCell *)vwSuperView center]]; 
} 
0
-(void)getAddAction:(id) sender 
{ 
    UITableViewCell *clickedCell = (UITableViewCell *)[[sender superview] superview]; 
    NSIndexPath *clickedButtonIndexPath = [messagesTableView indexPathForCell:clickedCell]; 

    int selectedIndexPath = clickedButtonIndexPath.row; 
    NSLog(@”SelectedIndexPath: %d”, selectedIndexPath); 

    // get value/object from your array 
    NSString *userInfo = [userInformationArray objectAtIndex:selectedIndexPath]; 
    NSLog(@”userInfo : %@”, userInfo); 
} 
Verwandte Themen