2014-10-01 95 views
0

使用xcode6和故事板白色透明工具欄,我如何使狀態欄匹配

我有一個工具欄,在我的視圖的頂部。在工具欄下是一個mapview。地圖視圖在我想要的狀態欄下擴展。基本上我希望工具欄和狀態欄有點透明〜20%,這樣你就可以看到下面的mapview。

我已經將我的工具欄的背景顏色設置爲白色80%不透明。但是我不知道如何讓狀態欄變成完全一樣的東西。

從我所知道的一切來看,狀態欄是100%透明的,這意味着它會顯示下面的任何視圖。我試圖在我的工具欄上添加一個20點高度的視圖,並將其設置爲白色,80%透明。這幾乎實現了,我要達到相同的效果,但有工具欄和狀態欄之間的黑線,

enter image description here

上午我甚至在正確的軌道?如何使工具欄顏色和透明度與狀態欄顏色和透明度相匹配並避免該行?

編輯

clipsToBounds在消除行偉大的工作。

enter image description here

我加入編程按鈕:

-(void)splitViewController:(UISplitViewController *)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem *)button forPopoverController:(UIPopoverController *) pc { 
    button.image = [UIImage imageNamed:@"bars"]; 

    NSMutableArray *items = [self.toolbar.items mutableCopy]; 
    if (!items) { 
     items = [NSMutableArray arrayWithObject:button]; 
    } else { 
     [items insertObject:button atIndex:0]; 
    } 

    [self.toolbar setItems:items]; 
} 

後,我補充一點按鈕我的工具欄背景變爲白回來:

enter image description here

EDIT 2 所以我剛剛發現了UIBarPosit ionTopAttached枚舉,我可以將我的視圖設置爲工具欄委託。我這樣做:

  • (UIBarPosition)positionForBar:(ID)欄{ 回報UIBarPositionTopAttached; }

並驗證它被調用。我希望這會告訴iOS,我的工具欄連接到狀態欄,並且我的工具欄顏色和全部都會流入狀態欄。那也不是這種情況嗎?

似乎將工具欄附加到狀態欄,使狀態欄佔據工具欄的背景不應該很難,也就是說我是否真的必須創建一個額外的20點高視圖來實現這一點?即使這樣看起來像我做錯了,因爲當我添加按鈕我的工具欄透明度回到不透明。

回答

3

UIToolbar在頂部有一個髮際線陰影。如果您設置邊界剪輯屬性,它將隱藏該行。

toolbar.clipsToBounds = YES; 
+0

可能在IB/storyboard中設置? – lostintranslation 2014-10-01 21:00:22

+0

將其設置爲用戶定義的運行時屬性。像魅力一樣工作,謝謝! – lostintranslation 2014-10-01 21:06:04

+0

不是我可以做出來的,有一個剪輯子視圖複選框,但是沒有解決它。您可能能夠從導航控制器訪問工具欄,這取決於您如何實施它。 – 2014-10-01 21:06:48

0

雖然剪輯到界限效果很好,但我認爲這個問題的正確答案在工具欄上使用barPosition。

有幾個方法可以做到這一點:

設置您的視圖作爲代表到工具欄和實現這個委託方法:

- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar { 
    return UIBarPositionTopAttached; 
} 

或者在設置用戶自定義運行一個故事板屬性上在UIToolbar:

barPosition 3號

enter image description here