У меня возникла проблема с дизайном UITableView
в UIViewController
, когда он представлен на iPad iPad UINavigationController
. Очень просто, я хочу, чтобы граница ячейки таблицы не отображалась, и поэтому в IB я устанавливаю стиль Separator Style на «None» и цвет Separator на «Clear Color». В СИБЕ моя сгруппированная таблица выглядит так, как я хочу, чтобы это выглядело:Моделирование UITableView игнорируется в модальном стиле презентации
В СИБЕ Tableview подключен к файлу владелице для его источника и делегат. Он также устанавливается как IBOutlet. Имя класса владельца файла правильно установлено в VC, и я хочу загрузить этот NIB. При запуске я создаю экземпляр этого VC, затем создаю экземпляр UINavigationController
. Я запустил UINavigationController
с этим VC (который имеет UITableView
), а затем представляет UINavigationController
. На iPad я представляю его с форматом презентации в стиле модальной формы.
В моем application:didFinishLaunchingWithOptions:
методе AppDelegate, я экземпляр и сохранить ссылку на обоих ВК и его родителей `UINavigationController:
self.loginViewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
self.loginViewNavigationController = [[UINavigationController alloc] initWithRootViewController:self.loginViewController];
Затем ... после того, как какая-то логика была выполнена (еще в AppDelegate) Представляю UINavigationController
модально:
if (self.loginViewNavigationController != nil) {
if ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad)
self.loginViewNavigationController.modalPresentationStyle = UIModalPresentationFormSheet;
[self.window.rootViewController presentViewController:self.loginViewNavigationController animated:YES completion:nil];
}
Все хорошо с миром на iPhone, в том, что моя клетка граница не видна:
Однако на IPad граница ячейки хорошо видна и моя навигация заголовка стайлинг все уводят (это проблема на другой день):
Я бы очень хотел знать почему UITableView
игнорирует стиль разделителя, подобный этому на iPad. Я пробовал установить modalPresentationStyle
на PageSheet и FullScreen и имел ту же проблему. Я также попытался установить эти свойства в VC's viewDidLoad
(который содержит табличное представление) безрезультатно. Я также попытался создать IPAD-специфический NIB «LoginViewController ~ ipad» и подключить все так, но это, похоже, не изменило ситуацию.
Возможно, я сохраняю логин VC, и он содержит UINavigationController
, но я не могу быть уверен, потому что это отлично работает на iPhone.
Я предполагаю, что это, вероятно, имеет какое-то отношение к модальной презентации на iPad, и для всех моих поисков и попыток разных комбинаций я не могу понять, что происходит. Есть идеи?
[EDIT]
Я работаю на тренажере с прошивкой 6.1, 5.1 и 5.0. Я вижу ту же проблему во всех версиях. На данный момент я придерживаюсь iOS 6.1 и буду двигаться назад, чтобы быть совместимым. Я еще не перешел на устройство.
Спасибо!
Что такое версия iOS на вашем iPhone и iPad? – Rajneesh071
К сожалению. Вероятно, следовало включить эту информацию. Я работаю с iOS 6.1 (и должен также поддерживать версии 5.1 и 5.0). Вопрос был отредактирован. – Aaron