Я понял, что вам нужно использовать следующий метод и вернуть то, что вы хотите, чтобы новый заголовок был в виде строки NSString.Однако я не знаю, где поставить этот метод.Где он обычно находится?
- (NSString *)tableView:(UITableView *)tableView
titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"Close";
}
Я пробовал это в моем TableViewController , и он не работает:
интерфейс
#import <Three20/Three20.h>
@interface PositionsController : TTTableViewController {
}
@end
реализация
#import "PositionsController.h"
#import "NetworkController.h"
#import "PositionsDataSource.h"
@implementation PositionsController
- (id) init {
if (self = [super init]) {
self.variableHeightRows = NO;
}
return self;
}
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"Close";
}
@end
Я не буду помещать туда весь код, тем не менее, все работает так, как должно, но я все равно получаю Удалить в качестве заголовка для моей кнопки, а не Закрыть .
Пересмотренный рабочий код библиотеки Three20
Проблема, с которой я столкнулся, заключается в том, что я использовал TTTableViewDragRefreshDelegate для своих UITableView * делегировать.Я делал это с помощью следующего метода:
- (id<UITableViewDelegate>)createDelegate {
return [[[TTTableViewDragRefreshDelegate alloc] initWithController:self] autorelease];
}
Это все хорошо, но если вы хотите переопределить метод, который UITableViewDelegate вызывает, как то, что я пытался сделать здесьЗатем вам нужно создать собственный класс делегирования, который наследует TTTableViewDragRefreshDelegate , и поместить переопределения вашего метода в этот класс.Вот как выглядит мой рабочий код:
Пересмотренный метод PositionsController.m createDelegate
- (id<UITableViewDelegate>)createDelegate {
return [[[PositionsTableDelegate alloc] initWithController:self] autorelease];
}
PositionsTableDelegate.h
#import <Three20/Three20.h>
@interface PositionsTableDelegate : TTTableViewDragRefreshDelegate <UITableViewDelegate> {
}
@end
PositionsTableDelegate.m
#import "PositionsTableDelegate.h"
@implementation PositionsTableDelegate
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
return @"Close";
}
@end