替换所有的cell的右侧箭头

写个UITableViewCell的分类重写这个方法

- (void)didMoveToSuperview { [super didMoveToSuperview]; // 全局替换右侧箭头 if (self.accessoryType == UITableViewCellAccessoryDisclosureIndicator) { UIImageView *i = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"btn_enter"]]; self.accessoryView = i; } }

 更新2016-2-18早,有些复杂的cell的情况下,还是没有替换成所需要的自定义箭头,那么这种情况下只能在特别的控制器里重写代理方法

#pragma mark - UITableViewDelegate
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    // 不用系统自带的箭头
    if (cell.accessoryType == UITableViewCellAccessoryDisclosureIndicator) {
        UIImage *arrowImage = [UIImage imageNamed:@"btn_enter"];
        UIImageView *arrowImageView = [[UIImageView alloc] initWithImage:arrowImage];
        cell.accessoryView = arrowImageView;
    }
}

或者真的是需要全部处理箭头的话,就要用到hook了

你可能感兴趣的:(替换所有的cell的右侧箭头)