2013-11-21 57 views
2

我正在使用使用部署目標5.1的iOS 7的Storyboards來開發iOS應用程序。UINavigationBar下的多個UITableViews

我在一個視圖控制器中有4個UITableView s,全部具有1/3寬度和100%屏幕高度。一個總是在屏幕外(他們不時地左右移動)。我希望它們能在UINavigationController提供的UINavigationBar下顯示。

我在故事板設置好一切,但是的XCode只有格式化最左邊的表(由格式化我的意思是在UINavigationBar年底UITableView開始的內容,其他表開始UINavigationBar下顯示內容。

我不有在我的視圖控制器設置表,只有UITableViewControllerDataSourceUITableViewControllerDelegate方法的任何代碼。

xcode storyboard

正如你在截圖中看到,它甚至沒有顯示PROTOTYP e表格單元格,因爲它們在導航欄下。

如何設置這個權利(在故事板或以編程方式)?

我希望內容出現在導航欄下方,但也要在欄下方開始,並且僅在向下滾動時才進入。

+1

可以張貼一些屏幕截圖? –

+0

屏幕截圖應該是故事板和應用程序正在運行。此外,你有什麼代碼(如果有)設置視圖並滾動它們? – Wain

+0

這就是圖片中發生的情況,它也發生在ios7之前的版本中? – Ilario

回答

0

嘗試在視圖控制器中使用以下代碼。

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

或者在table.tableHeaderView中放入透明視圖。該視圖的高度等於導航欄的高度。

+0

當然有用,但不是我想要的方式。 我想讓內容顯示在小節下方,但也要在小節下面開始,並且只有在向下滾動時才顯示。 –

+0

我在我的應用程序中檢查了它,導航欄不透明,但我可以清楚地看到它下面的模糊單元格。 –

+0

太棒了,完美地將透明視圖放在第一個單元格上面,儘管它是令人討厭的解決方法。這個視圖的高度應該是'64',並且必須記住在Storyboard中的'iOS 6/7 Details'中設置'-64''ΔHeight'。 –

0

看出,這個問題只與ios7,我可以嘗試提出一個方案:

- 第一:

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哦,我沒有意識到你想要導航欄是半透明的.. – Ilario

+0

是的,這是棘手的部分:) –

相關問題