Итак, у меня UITableView
внутри splitViewController
. У меня UIActionSheet
внутри UITableViewCell
, если ячейка содержит номер телефона, actionSheet
отображает список опций (Отправить сообщение, Добавить в контакты, Копировать). Все это отлично работает, когда iPad находится в портретной ориентации, но при нажатии на ячейку в альбомной ориентации я получаю следующую ошибку:
При создании снимка вида, который не был визуализирован, создается пустой снимок. Убедитесь, что ваше представление было визуализировано хотя бы один раз перед созданием моментального снимка или моментальным снимком после обновления экрана.
Я просмотрел много сообщений SO по этой проблеме, и все они, похоже, решают проблему при использовании UIImagePickerController
или UIAlertViewController
, но ни один, похоже, не получает / не решает ошибку при использовании UIActionSheet
.
Вот мой код:
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:@"Send Message", @"Add to Contacts", @"Copy", nil];
CGRect cellRect = cell.bounds;
cellRect.size.width = cell.frame.size.width * 2;
cellRect.origin.x = -(cell.frame.size.width / 2);
[actionSheet showFromRect:cellRect inView:cell animated:YES];
Я также реализовал UIActionSheet
методы делегата для решения некоторых других проблем, поэтому мне интересно, нужно ли мне добавить код для решения проблем в методах делегата ?:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
}
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{
dispatch_async(dispatch_get_main_queue(), ^{
[actionSheet dismissWithClickedButtonIndex:buttonIndex animated:YES];
});
}
- (void)didPresentActionSheet:(UIActionSheet *)actionSheet
{
}
Любая помощь горячо приветствуется. Это предупреждение может быть несерьезным, но я не уверен, отклонит ли Apple его из-за предупреждения. Приложение не вылетает или что-то в этом роде, но все же я хотел бы избавиться от ошибки. Спасибо.
UIPopoverController
. Сейчас сниму, хорошее место. - person rosshump   schedule 25.05.2016[actionSheet showFromRect:cellRect inView:cell animated:YES]
. Вы представляете actionSheet в ячейке, а все, что вы хотите сделать, - это представить его в корневом представлении вашего viewController. Попробуйте изменитьcell
наself.view
- person Sander Saelmans   schedule 25.05.2016actionSheet
под первой ячейкой в tableView
. Я также попытался изменить его наcell.contentView
, но предупреждение осталось тем же. Я в тупике, потому что кажется, что это должно появиться только в том случае, если я использую какие-либо функции камеры. - person rosshump   schedule 25.05.2016