Почему при добавлении изображения в навигационную панель возникают пробелы слева и справа?
-
22-09-2019 - |
Вопрос
UIImageView *navBarImageView = [[UIImageView alloc] initWithImage:navBarImage];
[navBarImageView setFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.titleView = navBarImageView;
[navBarImageView release];
Я пытаюсь добавить изображение в свою панель навигации, но когда я использовал код, указанный выше, он помещает изображение в панель навигации, но оставляет серый зазор слева и справа от изображения.Изображение было создано размером 320x44, я не уверен, почему оно меняет размер, несмотря на то, что я устанавливаю рамку.
Решение
Это...вероятно, не так, как вы хотите это сделать — это не то, что titleView
для.Обычный способ сделать собственный фон панели навигации — создать категорию на UINavigationBar
, вот так:
@implementation UINavigationBar(MyCustomBackground)
- (void)drawRect:(CGRect)r
{
[[UIImage imageNamed:@"my-navigation-background.png"] drawInRect:self.bounds];
}
@end
Добавьте это в файл .m в свой проект, и вы увидите, что все ваши панели навигации используют «my-navigation-background.png» в качестве фона.
Не связан с StackOverflow