2015-02-09 67 views
1

在Instagram應用程序中,當您單擊底部選項卡欄中的中間按鈕時,它會彈出一個視圖控制器(看起來是模態),並且此視圖控制器覆蓋整個屏幕,包括標籤欄和導航欄。我怎樣才能做到這一點?我開始創建一個獨立的視圖控制器,並對標籤欄控制器進行了分類,所以當中間項目被點擊時,我運行了一個自定義的細節。這很好,但什麼是錯誤的是,當我關閉模式,視圖控制器已經附加到中間標籤欄項目正在顯示。當中間的標籤欄項目被點擊時,會發生什麼情況,僅僅是發生模式彈出,這就是全部。我怎樣才能停止中間標籤欄項目顯示它的視圖控制器,只是運行自定義模態賽格?來自UITabBar的Modal Popup項目Like Instagram Post Tab項目

回答

0

好像你在你的應用程序中使用標籤欄導航,爲什麼不只是添加一個空欄,並手動添加一個按鈕的動作?

UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom]; 
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height); 
[button setBackgroundImage:buttonImage forState:UIControlStateNormal]; 
[button setBackgroundImage:highlightImage forState:UIControlStateHighlighted]; 

CGFloat heightDifference = buttonImage.size.height - self.tabBar.frame.size.height; 
if (heightDifference < 0) 
    button.center = self.tabBar.center; 
else 
{ 
    CGPoint center = self.tabBar.center; 
    center.y = center.y - heightDifference/2.0; 
    button.center = center; 
} 

[self.view addSubview:button]; 
+0

我知道我可以做到這一點,但寧願在我的應用程序中使用標籤欄導航,只需擔心自定義中心選項卡項目。點擊時我的模式顯示效果很好,只是當原始視圖控制器現在被加載時,它被解散了。必須有一種方法來防止這種情況的發生.. – 2015-02-09 19:57:58

+0

[self.navigationController popViewControllerAnimated:YES]; 如果你只是想向下彈出一個級別...... – 2015-02-09 20:00:01

+0

我最後只是在中間標籤欄頂部添加一個按鈕。這需要所有的觸動,我避免點擊下面的中間標籤欄 – 2015-02-09 20:24:13