#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…