1

我正在datepicker为 aUITextFieldUIToolbar. 我希望能够关闭accessoryView,但它没有按应有的方式运行。尽管我按下了Done按钮,但没有调用操作方法,并且工具栏格式不是我想要的颜色。

[UIColor defaultAppColor]应该是红色的阴影,它没有出现在任何地方。

我究竟做错了什么?

UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectZero];
datePicker.datePickerMode = UIDatePickerModeDate;
datePicker.backgroundColor = [UIColor universalGreyColor];

UIToolbar *dobToolbar = [[UIToolbar alloc] init];

UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(dateSelected:)];
doneButton.tintColor = [UIColor universalActionColor];
UIBarButtonItem *flexibleSeparator = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
dobToolbar.items = @[flexibleSeparator, doneButton];
dobToolbar.barTintColor = [UIColor colorWithWhite:33.0/255.0 alpha:1];
dobToolbar.backgroundColor = [UIColor defaultAppColor];

[dobToolbar setShadowImage:[UIImage new] forToolbarPosition:UIToolbarPositionAny];

//dobToolbar.barStyle = UIBarStyleDefault;

self.dob.inputAccessoryView = dobToolbar;

self.dob.inputView = datePicker;
4

1 回答 1

2

我相信您的工具栏此时可能没有框架。尝试添加:

[dobToolbar sizeToFit];

这应该让你的栏按钮开始工作。

如果您希望您的工具栏为defaultAppColor,请尝试将其设置为barTintColor属性,而不是backgroundColor.

于 2015-07-15T16:48:37.160 回答