Недавно я обновился до бета-версии iOS 6, и у меня возникли некоторые проблемы. (Я знаю, что это бета-версия, но я еще не уверен, что это действительно связано с iOS 6.)
Задача имеет следующие параметры:
- Пользовательский
UITableViewCell
сUIButton
объектами, которые генерируютUIPopOver
объектов, представленных из кадраUIButton
, который был нажат. - Отображается
UIPopOver
, а затем iPad поворачивается. - Мой вид отклоняет
UIPopOver
, когда анимация вращения завершается, а затем повторно отображаетUIPopOver
.
Релевантная информация:
- Первое вращение проходит нормально;
UIPopOver
закрывается и отображается правильно. - Второе вращение (КАЖДЫЙ РАЗ) ломает приложение.
- У меня установлена символическая точка останова, но я не получаю никакой полезной информации.
- Я делаю то же самое с
UIPopOver
объектами, представленными изUIBarButton
объектов вUIToolbar
. Я не испытываю проблем с этими переходами. - Это новая проблема, связанная с кодом, который давно не менялся.
- Я получаю сообщение об ошибке: «предупреждение: попытка создать переменную USE_BLOCK_IN_FRAME с блоком, который не находится в кадре».
Вот код, который выполняется, связанный с вращением:
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
if ([self PopOver]) {
[[self PopOver] dismissPopoverAnimated:YES];
[self setPopOver:nil];
[self ButtonPressed:[self TouchedCell]];
}
[[self TableView1] reloadData];
[[self TableView2] reloadData];
}
- (void)ButtonPressed:(Cell *)cell {
[self setTouchedCell:cell];
NSString *nibName = @"View";
if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) {
nibName = @"View-iPad";
}
ViewController *vc = [[ViewController alloc] initWithNibName:nibName
bundle:nil];
if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad) {
UIPopoverController *popOver = [[UIPopoverController alloc]
initWithContentViewController:vc];
[self setPopOver:popOver];
[popOver setDelegate:self];
[[self PopOver] setPopoverContentSize:CGSizeMake(320, 320)];
[popOver presentPopoverFromRect:[[cell CheckButton] frame]
inView:[cell contentView]
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
} else {
// iPhone doesn't use PopOvers...
}
}
Кто-нибудь знает, что мне делать дальше?
[tableView reloadData]
, не будет ли это означать, что любая ссылка наUITableViewCell
может быть недействительной? Бьюсь об заклад, я пытаюсь представить это из (сейчас) несуществующей ячейки. Я проверю это и СПАСИБО, ЧТО ПОДНИМАЛИ МЕНЯ ДУМАТЬ В ПРАВИЛЬНОМ ПУТИ!!! - person mbm29414   schedule 02.07.2012