2013-11-21 3 views
2

Я разрабатываю приложение iOS с помощью раскадровки, используя iOS 7 с целью развертывания 5.1.Несколько UITableViews под UINavigationBar

У меня есть 4 UITableView с одним контроллером, все имеют ширину 1/3 и высоту экрана 100%. Один из них всегда вне экрана (они время от времени двигаются влево-вправо). Я хочу, чтобы они отображались под UINavigationBar, предоставленные UINavigationController.

Я поставил все в раскадровке, но XCode отформатирован только оставил большую таблицу (по отформатирован я имею в виду, что содержание UITableView начинается в конце UINavigationBar. Другие таблицы начинают отображать содержание под UINavigationBar.

Я не имеют какой-либо код для создания таблицы, только UITableViewControllerDataSource и UITableViewControllerDelegate методы, на мой взгляд контроллера.

xcode storyboard

Как вы можете видеть на скриншоте, это даже не показывая PROTOTYP e table, потому что они находятся под навигационной панелью.

Как установить это право (в Раскадке или программно)?

Я хочу, чтобы содержимое отображалось под навигационной панелью, но также начиналось под панелью и проходило только при прокрутке вниз.

+1

может опубликовать некоторые снимки экрана? –

+0

Скриншоты должны быть раскадровки и приложения. Кроме того, какой у вас код (если есть) для создания представлений и прокрутки их? – Wain

+0

Это то, что происходит на картинке, это также происходит с версией до ios7? – Ilario

ответ

0

Попробуйте использовать следующий код на вашем контроллере.

if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) 
    self.edgesForExtendedLayout = UIRectEdgeNone; 

Или поставьте прозрачный вид в таблице.tableHeaderView. С высотой этого вида, равной высоте навигационных баров.

+0

Конечно, это работает, но не так, как я этого хотел. Я хочу, чтобы содержимое отображалось под столбцами, но также начиналось ниже строки и отображалось только при прокрутке вниз. –

+0

Я проверил его внутри своего приложения, панели навигации не прозрачны, но я могу ясно видеть размытые ячейки под ним. –

+0

Отлично, надевая прозрачный вид поверх первой ячейки, отлично работает, хотя это неприятное обходное решение. Высота этого представления должна быть '64', и нужно помнить, чтобы установить' -64' 'ΔHeight' в' iOS 6/7 Details' в Storyboard. –

0

видно, что эта проблема только с ios7, я могу попытаться предложить варианты:

-first:

enter image description here

щелчок в раскадровке на UIViewController, который содержит UITableView и как вы можете видеть загруженный снимок, снимите флажок «под верхними барами» рядом с «Расширить края».

, если это не работает, (это не сделать полупрозрачный Панель навигации) попробовать:

-(void)viewWillAppear:(BOOL)animated { 

    NSString *ver = [[UIDevice currentDevice] systemVersion]; 
int ver_int = [ver intValue]; 

if (ver_int < 7) { 

    } 
else { 
     self.navigationController.navigationBar.translucent = NO; 
    } 
} 
+0

Как и в случае с @Evgen Bodunov, это не решает мою проблему. Я хочу, чтобы содержимое отображалось в барах, но также начиналось ниже строки и отображалось под панелью, только при прокрутке вниз. –

+0

@CrazyYoghurt oh, я не понимал, что вы хотите, чтобы навигационная панель была полупрозрачной. – Ilario

+0

да, это сложная часть :) –

Смежные вопросы