Я бегу по странной проблеме, которая возникла сейчас. Я не уверен, что это потому, что я не обновился до Xcode 4.2.1, или если это iOS 5.UITableView не показывает iPad, работающий под управлением iOS 5
У меня есть приложение для iPad, которое работает на OS 4.0 - 5.0.
У меня есть UITableView, который содержится в виде, показанном в виде листа формы.
Таблица показывает прекрасный ход на 4.x, но таблица исчезает при работе на 5.0.
Я знаю, что каждый слышал это миллион раз, но вчера он работал нормально, я ничего не менял, теперь это не работает. У меня есть рабочая копия со вчерашнего дня, которая установлена на дополнительном iPad под управлением iOS 5. Сегодня он не хочет работать.
Вот как у меня есть настройка, возможно, вы можете обнаружить проблему.
UITableView создан в IB. Установлен источник данных и делегат ARE.
мнение вызывается следующим образом:
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 мнение, Цена является:
- (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
Я не знаю, почему он должен быть там прошивкой 5, но не в IOS 4.x
Есть ли какие-либо новые предупреждения о компиляторе или предупреждения во время выполнения? – dtuckernet
Отрицательный сэр. Я даже установил точки останова в таблице таблиц '- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath', чтобы убедиться, что он вызван. (он называется). – random
Если вы решили свою проблему самостоятельно, обычно при переполнении стека принято решение в качестве ответа и принимать его самостоятельно; таким образом, каждый может видеть, что вопрос решен :) – deanWombourne