Пользовательский UINavigationbar в UISplitViewController - PullRequest
0 голосов
/ 19 ноября 2011

Возникли некоторые проблемы с настройкой UINavigationController.Изменение размера работает, но изображение (1px * 60px) не работает.Код находится в MasterViewController.

Есть идеи?

@implementation UINavigationBar (custom)

- (CGSize)sizeThatFits:(CGSize)size {
    CGSize newSize = CGSizeMake(self.frame.size.width,60);
    return newSize;
}

- (void)drawRect:(CGRect)rect {
    UIImage *image = [UIImage imageNamed: @"navimg.png"];
    [image drawAsPatternInRect:CGRectMake(0, 0,self.frame.size.width, self.frame.size.height)];
}
@end

1 Ответ

2 голосов
/ 19 ноября 2011

С документация :

В iOS 5 реализации UINavigationBar, UIToolbar и UITabBar изменились, так что метод drawRect: не вызывается, если он не реализован в подклассе. Приложения, которые повторно внедрили drawRect: в категорию любого из этих классов, обнаружат, что метод drawRect: не вызывается. UIKit выполняет проверку ссылок, чтобы не вызывать метод в приложениях, связанных до iOS 5, но не поддерживает этот дизайн в iOS 5 или более поздней версии. Приложения могут либо:

  • Используйте API настройки для баров в iOS 5 и более поздних версиях, что является предпочтительным способом.
  • Подкласс UINavigationBar (или другие классы столбцов) и переопределение drawRect: в подклассе.
...