Добавить фоновое изображение в UIToolbar TTWebController

#objective-c #cocoa-touch #three20

#objective-c #cocoa-touch #three20

Вопрос:

Я хотел бы добавить красивое фоновое изображение в UIToolbar подкласса TTWebController от Three20.

Поскольку я не возражаю против того, чтобы все UIToolbar моего приложения использовали один и тот же фон, я попытался использовать UIColor colorWithPatternImage в моей таблице стилей, но, похоже, это не сработало (панель инструментов получилась сплошной черной).

Я также пытался сделать что-то подобное:

  @implementation UIToolbar (MyCustomToolbarBG)
- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: kBackgroundImage];
    [image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}
@end
  

без особого успеха..
Я определенно не хочу копировать и вставлять весь код TTWebController только для того, чтобы создать из него свой собственный класс, поскольку я на самом деле больше ничего не изменяю, но я действительно не вижу, что еще я могу сделать. У кого-нибудь есть предложения?

Ответ №1:

Хорошо, я нашел свой способ следующим образом: я добавил TTWebController в подкласс loadView: метод.

 -(void)loadView{
[super loadView];
 [_toolbar insertSubview:[[[UIImageView alloc] initWithImage:[UIImage imageNamed: kBackgroundImage]] autorelease] atIndex:0];
  

}

Лучше, чем ничего. Однако это не очень удобно, если они решат что-либо изменить в защищенном атрибуте _toolbar…