iphone - tab - navigation bar中文




有沒有辦法改變UIToolbar的高度? (7)

Swift解決方案:

myToolbar.frame = CGRect(x: myToolbar.frame.origin.x, y: myToolbar.frame.origin.y, width: myToolbar.frame.size.width, height: 20)

CGRectMake已經過時了。 這可以用CGRect替換。 這會將工具欄的高度設置為20.同樣適用於分段控件。

我在Interface Builder中有一個UIToolbar ,我注意到它被鎖定為44px高。 當然我想把它做大。

Apple是否允許調整此控件的大小? 如果是這樣,我該怎麼做呢?


只要您在工具欄上有一個高度限制,就可以使用這個小片段來幫助我調整從UIView繼承的類的高度

-(void)setHeightConstraintTo:(CGFloat)height forView:(UIView *)view{
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"firstAttribute = %d",          NSLayoutAttributeHeight];
    NSArray *filteredArray = [view.constraints filteredArrayUsingPredicate:predicate];
    if(filteredArray.count > 0){
        NSLayoutConstraint *constraint = filteredArray.firstObject;
        constraint.constant = height;
    }
 }

在界面構建器中,還可以使用“用戶定義的運行時屬性”。

只需添加一個條目,將keypath設置為“Rect”類型的“frame”,並設置所需的值。


如果在SDK 6中不起作用,可以解決如下問題:

選擇工具欄元素,然後選擇“編輯器”>“引腳”>“高度”以創建約束。 轉到View Controller Scene並選擇創建的Height(44)約束,然後輸入所需的值。


您也可以編輯xib文件:

打開它作為源代碼,找到定義UIToolbar框架的條目,類似於

<string key="NSFrame">{{0,420}, {320,44}}</string>

只需將44的值更改為您需要的任何大小。

這樣工具欄會更高,在InterfaceBuilder中你會看到新的大小變灰,你將無法改變它,但你不需要任何插座或代碼。


我不確定這會如何與Apple相關 - 當然這取決於您希望如何使用工具欄 - 但您可以添加默認的UIView並將其屬性檢查器中的類更改為UIToolbar。 這樣可以免費提供透明度和可定制性(在這種情況下為高度),但會犧牲條形按鈕項的佈局。


當然,只需設置不同的框架:

[myToolbar setFrame:CGRectMake(0, 50, 320, 35)];

這將使您的工具欄高35像素。 當然這需要一個IBOutlet或以編程方式創建UIToolbar,但這很容易做到。





uitoolbar