2

在我的应用程序中,我现在对之前使用 Light Keyboard 的所有 UITextField 使用键盘的“深色”外观。

在其中一个文本字段的键盘上方,我创建了一个自定义 UIToolbar,其中包含一些按钮,允许用户选择键盘上方的选项之一。

这似乎比它需要的要困难得多,但我试图让 UIToolBar 变暗而不是变亮,无论我尝试什么,工具栏总是白色的,我似乎只能改变按钮的颜色工具栏而不是工具栏本身。

工具栏是在代码中创建的:

    UIToolbar *alertToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0f, 0.0f,
                                                                          self.view.window.frame.size.width, 44.0f)];

    alertToolBar.backgroundColor = [UIColor blackColor];
    //alertToolBar.tintColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f];

    alertToolBar.translucent = NO;
    alertToolBar.items =  @[ [[UIBarButtonItem alloc] initWithTitle:@" GBP"
                                                              style:UIBarButtonItemStyleBordered
                                                             target:self
                                                             action:@selector(barButtonAddText:)],
                             [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                           target:nil
                                                                           action:nil],
                             [[UIBarButtonItem alloc] initWithTitle:@" USD"
                                                              style:UIBarButtonItemStyleBordered
                                                             target:self
                                                             action:@selector(barButtonAddText:)],
                             [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                           target:nil
                                                                           action:nil],
                             [[UIBarButtonItem alloc] initWithTitle:@" EUR"
                                                              style:UIBarButtonItemStyleBordered
                                                             target:self
                                                             action:@selector(barButtonAddText:)],
                             [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                           target:nil
                                                                           action:nil],

    self.itemTextField.inputAccessoryView = alertToolBar;

我已经用上面注释掉的代码//alertToolBar.tintColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f];

如何将整个工具栏更改为黑色?

对此的任何帮助将不胜感激!

4

2 回答 2

5

我猜你正在使用 iOS 7.0 SDK,所以在这种情况下 barTint 不再适用。

在这种情况下,您需要使用 barTintColor。

苹果的文档:

iOS 7.0 中条形的 tintColor 行为已更改。它不再影响栏的背景,其行为与添加到 UIView 的 tintColor 属性的描述相同。要为栏的背景着色,请使用 -barTintColor。

在这种情况下应该是:

alertToolBar.barTintColor = [UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:1.0f];
于 2014-03-24T16:10:45.657 回答
2

我想你想设置:

@property(nonatomic, retain) UIColor *barTintColor
于 2014-03-24T16:09:56.653 回答