Я думаю, тип кнопки не имеет значения.Вы должны назначить действие или селектор на кнопку.Примерно так:
UIBarButtonItem *bttItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(yourBttAction:)] autorelease];
действие:
- (IBAction) yourBttAction:(id)sender
{
NSLog(@"Done Button clicked");
//do something
}
Если кнопка находится на modalViewController, я обычно для ее отклонения использую:
[self dismissModalViewControllerAnimated:(BOOL)];
или
//if you have a navigationController
[self.navigationController dismissModalViewControllerAnimated:(BOOL)];
Но если вы хотите использовать делегата для его отклонения, взгляните на этот учебник