Próbuję programowo dodać UINavigationBar do UIView i mając taki sukces, i nie mogę go rozwiązać. Próbuję dodać go do mojej podklasy UIView i po prostu nie wyświetla się po uruchomieniu aplikacji.Dodawanie UINavigationBar do UIView programowo?
Oto mój kod:
UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, headerHeight)];
[navBar setBackgroundColor:[UIColor blueColor]];
[self addSubview:navBar];
UIBarButtonItem *doneItem = [[UIBarButtonItem alloc] initWithTitle:@"done" style:UIBarButtonItemStylePlain target:self action:@selector(done:)];
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"categories"];
[navItem setRightBarButtonItem:doneItem animated:YES];
[navBar setItems:[NSArray arrayWithObject:navItem] animated:YES];
W jakiej metody masz ten kod? Po prostu spróbowałem i działa to dla mnie. Ponadto ustawienie backgroundColor nie będzie miało żadnego efektu.Trzeba użyć właściwości "tintColor". – LuisCien
Został wywołany podczas metody init wewnątrz instrukcji 'if (self)'. Nie rozumiem, dlaczego to by przestało działać, ponieważ dodam tutaj inne subviews. –
Cóż, to bardzo dziwne, ponieważ po prostu próbowałem powtórzyć twój scenariusz i to działa dla mnie. Wydaje mi się, że problem może polegać na tym, że "headerHeight" jest ustawione na 0. – LuisCien