Я столкнулся со странной проблемой, которая возникла где-то еще.Я не уверен, что это потому, что я не обновился до Xcode 4.2.1 или это iOS 5.
У меня есть приложение для iPad, которое работает на ОС 4.0 - 5.0.
У меня есть UITableView, который содержится в виде, который отображается модально в виде листа формы.
Таблица показывает, что работает на 4.x, но таблица исчезает при работе на 5.0.
Я знаю, что все слышали это миллион раз, но вчера оно буквально работало нормально, я ничего не менял, теперь это не работает.У меня есть рабочая копия со вчерашнего дня, которая установлена на дополнительном iPad с iOS 5. Сегодня она не хочет работать.
Вот как у меня это настроено, может быть, вы можете обнаружить проблему.
UITableView создается в IB.Источник данных и делегат установлены.
Вид называется так:
GuidedSearchPriceViewController *guide = [[GuidedSearchPriceViewController alloc] initWithNibName:@"GuidedSearchPriceViewController_iPad" bundle:nil];
UINavigationController *temp = [[UINavigationController alloc] initWithRootViewController:guide];
temp.modalPresentationStyle = UIModalPresentationFormSheet;
[guide setModalDelegate:self];
[guide setAppDelegate:self.appDelegate];
temp.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:temp animated:YES];
В iOS 4.x мы получаем это:
Но есть iOS 5 , мы получаем это:
Метод viewDidLoad представления Price:
- (void)viewDidLoad
{
[super viewDidLoad];
//Tried for testing but still does nothing
self.table.delegate = self;
self.table.dataSource = self;
UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithTitle:@"Type" style:UIBarButtonItemStyleBordered target:self action:@selector(nextScreen)];
addButton.enabled = NO;
self.navigationItem.rightBarButtonItem = addButton;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
UIBarButtonItem *cancel = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(dismiss)];
self.navigationItem.leftBarButtonItem = cancel;
self.navigationController.navigationBar.tintColor = [UIColor redColor];
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.png", [[NSBundle mainBundle] bundlePath], RP_iPad_FormsheetBackground]]];
} else
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.png", [[NSBundle mainBundle] bundlePath], RP_BackgroundImage]]];
// Make sure the background of the table is clear. I have also tried taking this out
// to resolve the disappearing issue but it has no effect.
if ([self.table respondsToSelector:@selector(backgroundView)]) {
[self.table setBackgroundView:nil];
[self.table setBackgroundView:[[UIView alloc] init]];
[self.table setBackgroundColor:UIColor.clearColor];
}
priceList = [[NSArray alloc] initWithObjects:@"$750", @"$1000", @"$1250", @"$1500", @"$1750", @"$2000", @"$2000 +", nil];
}
Большое спасибо за любую помощь и, как всегда, спасибо за ваше время.
ОТВЕТ
Мне удалось выяснить, в чем проблема, но я не уверен, почему она возникает.Может быть, кто-то может пролить свет на это.
Мне пришлось вставить
[table reloadData];
в конце -(void)viewDidLoad
Я не уверен, почему это должно быть вiOS 5, но не в iOS 4.x