Невозможно напрямую использовать UIBarButtonItem
в качестве accessoryView ячейки, поскольку UIBarButtonItem
не является UIView
.
Неоптимальным решением может быть использование UIToolbar
для хранения UIBarButtonItem
.Затем вы можете добавить UIToolbar
в качестве accessoryView ячейки, но в итоге вы получите нежелательный контур UIToolbar
.Этот SO ответ объясняет, как сделать прозрачный UIToolbar
подкласс.Таким образом, вы не увидите фон панели инструментов, но также потеряете контур UIBarButtonItem
- будет отображаться только белый значок камеры:
UIToolbar *toolbar = [[TransparentToolbar alloc] init];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCamera target:self action:@selector(someAction)];
toolbar.frame = CGRectMake(0, 0, 40, 30);
[toolbar setItems:[NSArray arrayWithObject:item] animated:NO];
cell.accessoryView = toolbar;
[item release];
[toolbar release];