• XCode не распознает новый класс. Что делать?

    pestrov
    @pestrov
    Перезагрузка Xcode+системы+clean не помогают?
    Ответ написан
    Комментировать
  • Как избежать дублирование кода в двух базовых классах унаследованных от UIViewController и UITableViewController?

    pestrov
    @pestrov
    Вы можете просто создать категорию на NavigationBar, добавив в нее методы по полной кастомизации — добаление фона, кнопок, слайдеров, свой для каждого контроллера. Тогда во — (void)viewDidLoad вы сможете просто вызывать метод, кастомизирующий NavigationBar для этого контроллера.
    Вызов будет выглядеть как-то так:
    - (void)viewDidLoad {
    [self.navigationController.navigationBar setBarForSmth];
    }
    

    Сама же категория будет представлять из себя следущее:
    @interface UINavigationBar (NavigationBar)
    -(void)setBarForCard;
    @end
    
    
    @implementation UINavigationBar (NavigationBar)
    
    - (void)setBarForSmth
    {
    
        UIImageView *aTabBarBackground = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"BarImage"]];
        aTabBarBackground.frame = CGRectMake(0,0,self.frame.size.width,44);
        [self sendSubviewToBack:aTabBarBackground];
    //Ну и тут добавляеть контроллов по вкусу
    

    Возможно, частенько вам придется это делать во viewWillAppear, а не viewDidLoad, так он не будет вызываться при переключении между контроллерами.
    Ответ написан
    Комментировать