カスタムUITableViewCellサブクラスが必要です。そのような何か:
.hファイル:
#define kBackButtonPressedNotification @"kBackButtonPressedNotification"
#define kForwardButtonPressedNotification @"kForwardButtonPressedNotification"
@interface ButtonsTableViewCell : UITableViewCell {
@private
UIButton* _backButton;
UIButton* _forwardButton;
}
@end
.mファイル:
@implementation ButtonsTableViewCell
-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if(self){
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
_backButton.frame = CGRectMake(10, 10, 100, 30); //put numbers that are good for you
[_backButton setImage:[UIImage imageNamed:@"someBackButtonImage.png"] forState:UIControlStateNormal];
[_backButton addTarget:self action:@selector(backPressed) forControlEvents:UIControlEventTouchUpInside];
[self.contentView addSubview:_backButton];
_forwardButton = [UIButton buttonWithType:UIButtonTypeCustom];
_forwardButton.frame = CGRectMake(10, 10, 100, 30); //put numbers that are good for you
[_forwardButton setImage:[UIImage imageNamed:@"someForwardButtonImage.png"] forState:UIControlStateNormal];
[_forwardButton addTarget:self action:@selector(forwardPressed) forControlEvents:UIControlEventTouchUpInside];
[self.contentView addSubview:_forwardButton];
}
return self;
}
-(void)backPressed{
[[NSNotificationCenter defaultCenter]postNotificationName:kBackButtonPressedNotification object:nil];
}
-(void)forwardPressed{
[[NSNotificationCenter defaultCenter]postNotificationName:kForwardButtonPressedNotification object:nil];
}
@end
行+ 1のあなたのコントローラの-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
メソッドの戻り値の数で(追加の行に対応するボタンを備えました)。 -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
では、indexPath.rowを確認し、最後のときはそのカスタムセルのインスタンスを返します。そしてもちろん、あなたはのはこのように言わせて、これらの通知を登録する必要があります:
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(yourBackMethod) name:kBackButtonPressedNotification object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(yourForwardMethod) name:kForwardButtonPressedNotification object:nil];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter]removeObserver:self];
}
yourBackMethod
とyourForwardMethod
のための適切な実装を提供することを忘れないでください。
これらのボタンはどこにありますか? 10行目が表示された後に – Ariel
と表示されます。 – Illep
次に、これらのボタンを使ってもう1つの行を追加してください。 – Ariel