У меня есть контроллер вида split, в котором на левой стороне находится контроллер табличного представления. Как показать панель действий внутри popover, когда я нажимаю кнопку раскрытия подробностей ячейки таблицы?Как показать лист действий внутри popover?
7
A
ответ
15
Попробуйте это:
UIActionSheet *popupSheet = [[UIActionSheet alloc] initWithTitle:@"Title"
delegate:self
cancelButtonTitle:@"Cancel"
destructiveButtonTitle:@"No Way !"
otherButtonTitles:nil];
popupSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;
UIButton * disclosureButton = (UIButton *)cell.accessoryView;
[popupSheet showFromRect:disclosureButton.bounds inView:cell.accessoryView animated:YES];
[popupSheet release];
UIActionSheet docs утверждают, что showFromRect:inView:animated:
метод:
отображает лист действий в пирог которой стрелка указывает на указанный прямоугольника зрения (в нашем случае кнопка раскрытия подробностей). Попсор не перекрывает указанный прямоугольник.
0
Я использую это для более расширенного использования:
- находит пользовательские accesoryView (cell.accesoryView)
- если пусто, найти генерироваться accesoryView (UIButton), если клетка имеет
- , если UIButton не существует, найдите вид сокета (UITableViewCellContentView)
- , если вид сокета ячейки не существует, используйте вид ячейки
Может быть использовать для UIActionSheet или UIPopoverController.
Вот мой код:
UIView *accessoryView = cell.accessoryView; // finds custom accesoryView (cell.accesoryView)
if (accessoryView == nil) {
UIView *cellContentView = nil;
for (UIView *accView in [cell subviews]) {
if ([accView isKindOfClass:[UIButton class]]) {
accessoryView = accView; // find generated accesoryView (UIButton)
break;
} else if ([accView isKindOfClass:NSClassFromString(@"UITableViewCellContentView")]) {
// find generated UITableViewCellContentView
cellContentView = accView;
}
}
// if the UIButton doesn't exists, find cell contet view (UITableViewCellContentView)
if (accessoryView == nil) {
accessoryView = cellContentView;
}
// if the cell contet view doesn't exists, use cell view
if (accessoryView == nil) {
accessoryView = cell;
}
}
[actionSheet showFromRect:**accessoryView.bounds** inView:**accessoryView** animated:YES];
Испытано в прошивкой 4.3 до 5.1
Лучше всего использовать в качестве пользовательского метода:
-(UIView*)getViewForSheetAndPopUp:(UITableViewCell*)cell;
И код метода:
-(UIView*)getViewForSheetAndPopUp:(UITableViewCell*)cell {
UIView *accessoryView = cell.accessoryView;
if (accessoryView == nil) {
UIView *cellContentView = nil;
for (UIView *accView in [cell subviews]) {
if ([accView isKindOfClass:[UIButton class]]) {
accessoryView = accView;
break;
} else if ([accView isKindOfClass:NSClassFromString(@"UITableViewCellContentView")]) {
cellContentView = accView;
}
}
if (accessoryView == nil) {
accessoryView = cellContentView;
}
if (accessoryView == nil) {
accessoryView = cell;
}
}
return accessoryView;
}
Смежные вопросы
- 1. Можно ли сделать iPad нормальный лист действий без popover?
- 2. Как показать страницу jQuery внутри popover?
- 3. Как создать лист действий?
- 4. Bootstrap - popover внутри popover
- 5. Показать вход контроля формы внутри Bootstrap Popover
- 6. Как показать оповещение внутри группы действий?
- 7. Настроить лист действий QLPreviewController
- 8. Excel показать лист внутри прокрутки квадрата
- 9. Как показать второй лист действий при нажатии кнопки в первом листе действий, Swift
- 10. Невозможно отклонить лист действий здесь
- 11. Как показать определенный элемент в Bootstrap Popover
- 12. Пользовательский UIAlertView и лист действий
- 13. Показать popover в webgrid
- 14. Как перемещаться внутри UITableView, находящегося внутри popover
- 15. пользовательский подборщик анимация вида, как лист действий
- 16. Изменить Лист действия popover arrow in iOS8
- 17. Ajax внутри bootstrap popover
- 18. Popover с Splitview внутри
- 19. Как показать загрузочный popover как выпадающее меню?
- 20. ipad - клавиатура внутри popover?
- 21. Typeahead.js внутри Bootstrap Popover
- 22. MFMailComposeViewController и отменить «сохранить» лист действий?
- 23. Как использовать Popover внутри функции Angularjs
- 24. Как закрыть popover с кнопкой внутри этого popover?
- 25. Показать лист с VBA
- 26. iPhone: Показать popOver от tabBarItem
- 27. Android: Как показать панель действий
- 28. Показать инструкцию как подсказку или popover
- 29. popover UISplitViewController
- 30. Использование ленивой загрузки внутри popover