簡體   English   中英

更改UIToolbar tintColor的問題

[英]issue changing UIToolbar tintColor

我有以下代碼:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization    
        webControlsToolbar_ = [[UIToolbar alloc] init];
        [self.webControlsToolbar_ setTintColor:[UIColor colorWithRed:246.0/255.0 green:246.0/255.0 blue:246.0/255.0 alpha:1]];

知道為什么顏色仍然是純黑色嗎? 在我看來加載了工具欄:

self.webControlsToolbar_.frame = CGRectMake(0, self.view.frameHeight - self.webControlsToolbar_.frameHeight + 1.0, self.view.frameWidth, self.webControlsToolbar_.frameHeight);
        [self.view addSubview:self.webControlsToolbar_];

我以前也遇到過類似的問題。 我通過在代碼中顯示工具欄之前立即設置色調顏色來解決該問題。 看看是否適合您。

我發現更容易按照實用工具欄的要求完全設置按鈕,標簽等的背景顏色,然后創建一個名為say,myOutlet的插座,並執行以下操作:

[self.webControlsToolbar_ setTintColor:myOutlet.backgroundColor];

問題就在這里

self.webControlsToolbar_.frame = CGRectMake(0, self.view.frameHeight - self.webControlsToolbar_.frameHeight + 1.0, self.view.frameWidth, self.webControlsToolbar_.frameHeight);

嘗試NSLog一個self.webControlsToolbar_.frameHeight屬性,您應該看到[UIToolBar new];之后為零[UIToolBar new]; 請改用恆定高度。

您必須在viewDidLoad方法中更改此屬性:

-(void)viewDidLoad{
    [super viewDidLoad];
    //Custom initialization
    [self.webControlsToolbar_ setTintColor:[UIColor colorWithRed:246.0/255.0 green:246.0/255.0 blue:246.0/255.0 alpha:1]];

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM