diff --git a/Classes/ContactDetailsTableViewController.m b/Classes/ContactDetailsTableViewController.m index 42332e723..4bf5a1c3a 100644 --- a/Classes/ContactDetailsTableViewController.m +++ b/Classes/ContactDetailsTableViewController.m @@ -870,7 +870,7 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_None, C - (BOOL)textFieldShouldEndEditing:(UITextField *)textField { UIView *view = [textField superview]; // Find TableViewCell - if(view != nil && ![view isKindOfClass:[UIEditableTableViewCell class]]) view = [view superview]; + while(view != nil && ![view isKindOfClass:[UIEditableTableViewCell class]]) view = [view superview]; if(view != nil) { UIEditableTableViewCell *cell = (UIEditableTableViewCell*)view; NSIndexPath *path = [self.tableView indexPathForCell:cell]; diff --git a/Classes/LinphoneUI/UICallCell.m b/Classes/LinphoneUI/UICallCell.m index 8d69976d7..4fe64cdc2 100644 --- a/Classes/LinphoneUI/UICallCell.m +++ b/Classes/LinphoneUI/UICallCell.m @@ -495,7 +495,10 @@ - (void)selfUpdate { UITableView *parentTable = (UITableView *)self.superview; - if(parentTable) { + + while( parentTable != nil && ![parentTable isKindOfClass:[UITableView class]] ) parentTable = (UITableView *)[parentTable superview]; + + if(parentTable != nil) { NSIndexPath *index= [parentTable indexPathForCell:self]; if(index != nil) { [parentTable reloadRowsAtIndexPaths:[[NSArray alloc] initWithObjects:index, nil] withRowAnimation:false]; diff --git a/Classes/LinphoneUI/UIChatCell.m b/Classes/LinphoneUI/UIChatCell.m index 1ecac8e96..f731ca490 100644 --- a/Classes/LinphoneUI/UIChatCell.m +++ b/Classes/LinphoneUI/UIChatCell.m @@ -156,7 +156,7 @@ if(chat != NULL) { UIView *view = [self superview]; // Find TableViewCell - if(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview]; + while( view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview]; if(view != nil) { UITableView *tableView = (UITableView*) view; NSIndexPath *indexPath = [tableView indexPathForCell:self]; diff --git a/Classes/LinphoneUI/UIChatRoomCell.m b/Classes/LinphoneUI/UIChatRoomCell.m index 5344fc135..25d5e2115 100644 --- a/Classes/LinphoneUI/UIChatRoomCell.m +++ b/Classes/LinphoneUI/UIChatRoomCell.m @@ -261,7 +261,7 @@ static UIFont *CELL_FONT = nil; if(chat != NULL) { UIView *view = [self superview]; // Find TableViewCell - if(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview]; + while(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview]; if(view != nil) { UITableView *tableView = (UITableView*) view; NSIndexPath *indexPath = [tableView indexPathForCell:self]; diff --git a/Classes/LinphoneUI/UIContactDetailsHeader.m b/Classes/LinphoneUI/UIContactDetailsHeader.m index 71538cffa..87fd448bb 100644 --- a/Classes/LinphoneUI/UIContactDetailsHeader.m +++ b/Classes/LinphoneUI/UIContactDetailsHeader.m @@ -340,7 +340,8 @@ - (BOOL)textFieldShouldEndEditing:(UITextField *)textField { UIView *view = [textField superview]; // Find TableViewCell - if(view != nil && ![view isKindOfClass:[UIEditableTableViewCell class]]) view = [view superview]; + while(view != nil && ![view isKindOfClass:[UIEditableTableViewCell class]]) view = [view superview]; + if(view != nil) { UIEditableTableViewCell *cell = (UIEditableTableViewCell*)view; NSIndexPath *indexPath = [self.tableView indexPathForCell:cell]; diff --git a/Classes/LinphoneUI/UIHistoryCell.m b/Classes/LinphoneUI/UIHistoryCell.m index 948894570..752fe178a 100644 --- a/Classes/LinphoneUI/UIHistoryCell.m +++ b/Classes/LinphoneUI/UIHistoryCell.m @@ -81,7 +81,7 @@ if(callLog != NULL) { UIView *view = [self superview]; // Find TableViewCell - if(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview]; + while(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview]; if(view != nil) { UITableView *tableView = (UITableView*) view; NSIndexPath *indexPath = [tableView indexPathForCell:self]; diff --git a/Classes/Utils/UACellBackgroundView/UACellBackgroundView.m b/Classes/Utils/UACellBackgroundView/UACellBackgroundView.m index f5b043489..feb901710 100644 --- a/Classes/Utils/UACellBackgroundView/UACellBackgroundView.m +++ b/Classes/Utils/UACellBackgroundView/UACellBackgroundView.m @@ -83,16 +83,16 @@ static void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWi // Auto found position // - UIView *view = [self superview]; // Find TableViewCell - if(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview]; + UIView *view = [self superview]; + while( view != nil && ![view isKindOfClass:[UITableView class]] ) view = [view superview]; - UIView *cellView = [self superview]; // Find TableViewCell - if(cellView != nil && ![cellView isKindOfClass:[UITableViewCell class]]) cellView = [cellView superview]; + UIView *cellView = [self superview]; + while( cellView != nil && ![cellView isKindOfClass:[UITableViewCell class]] ) cellView = [cellView superview]; if(view != nil && cellView != nil) { - UITableViewCell *cell = (UITableViewCell*)cellView; + UITableViewCell *cell = (UITableViewCell*)cellView; UITableView *tableView = (UITableView*)view; if([tableView style] == UITableViewStyleGrouped) {