我正在使用idev-recipes/RaisedCenterTabBar,我想要一個從中心按鈕而不是攝像頭調用的模態視圖。ios標籤欄按鈕模態視圖
代碼是在這裏: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
如何得到這個工作任何想法?
我正在使用idev-recipes/RaisedCenterTabBar,我想要一個從中心按鈕而不是攝像頭調用的模態視圖。ios標籤欄按鈕模態視圖
代碼是在這裏: https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
如何得到這個工作任何想法?
我想創建自己的UITabBarController的子類,然後在這個方法中添加:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
}
您將能夠告訴被選擇的項目,然後實例化一個模態VC在裏面。
當前VC附加到標籤欄中的項目呢?這是被忽略,還是我可以刪除它,同時保持標籤欄項目? – stewart715
我認爲你可以忽略它。它不能被刪除(TabBarController需要爲每個選項卡都有一個VC)。 –
但是,當我打開模式不會切換後面的VC,然後完成模式顯示空白VC?我如何才能讓它忽略它而不呈現默認操作? – stewart715
也許你可以只使用UITabBarDelegate,與- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
方法。
當某人按下標籤欄中的按鈕時,該方法被髮送到委託。在那裏你可以檢查它是否是正確的按鈕,然後實例化模態視圖控制器。
要麼通過子類別或通過使用委託,您可以簡單地檢查所選項目是否是您的中間按鈕,如果是,請讓選項卡欄選擇之前選定的項目,然後呈現您的模型視圖控制器。由於您將在原始選擇發生的同一個RunLoop源代碼中執行此操作,因此無需切換到中間VC即可有效撤消選項卡選擇。
根據你所提供的代碼示例=> https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar
中央凸起標籤按鈕是一個UIButton,所以只需設置像這樣的按鈕的在BaseViewController.m類的動作
[button addTarget:self action:@selector(showmodalview) forControlEvents:UIControlEventTouchUpInside];
然後在showmodalview方法編寫此代碼=>
-(void)showmodalview
{
UIViewController *view1=[[UIViewController alloc] init]; // you can use any view controller instance you want ,this is just the example.
[self presentModalViewController:view1 animated:YES];
}
有一個更好的方法,以便遵循做到這一點。而且更容易。
我通過使用這種方法實現的理解:https://github.com/boctor/idev-recipes/tree/master/RaisedCenterTabBar是當你試圖隱藏標籤欄時發生奇怪的事情。所以我找到的最好的解決方案(和你一樣)是這樣的:http://www.lantean.co/display-a-modal-uiviewcontroller-when-a-uitabbaritem-is-pressed/
沒有必要做別的事情。只需忽略與UITabBarItem關聯的視圖控制器並展示您的模態視圖!就這樣!
是的,可以通過點擊「UITabBar」上的按鈕來提高模態視圖。你需要提出更具體的問題。 –
更新了一下... – stewart715