Итак, я следовал учебному пособию, которое позволяет мне создать подкласс UIToolbar и нарисовать изображение в качестве пользовательского фона для UIToolbar.
Код был примерно таким:
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
UIImage *backgroundImage = [UIImage imageNamed:@"toolbar_background.png"];
[backgroundImage drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
Это работает безупречно. Учитывая, что я просто хочу, чтобы фон моей панели инструментов был ровным цветом. По сути, что-то вроде [UIColor blackColor] , есть ли более простой способ сделать это в методе drawRect?
Требуется создать плоское черное фоновое изображение высотой 320 x 44 пикселя и использовать его с приведенным выше кодом, что выглядит чрезмерно накладно, когда [UIColor blackColor] доступно? Я просто не уверен, как это реализовать здесь.
Я думал о том, чтобы сделать что-то вроде этого:
- (void)drawRect:(CGRect)rect
{
UIView *test = [[UIView alloc] initWithFrame:CGRectMake(0,0,self.frame.size.width,self.frame.size.height)];
test.backgroundColor = [UIColor blackColor];
[self addSubview:test];
}
Но это не работает, потому что тогда UIView COVERS все элементы панели UIToolbar, которые я добавлю позже, т. Е. Панель инструментов черная, да, но черный поверх всех элементов панели инструментов, поэтому они не видны.
Есть ли обходной путь?
Спасибо.