Почему при добавлении изображения на панель навигации появляются пробелы влево / вправо? - PullRequest
1 голос
/ 24 февраля 2010
UIImageView *navBarImageView = [[UIImageView alloc] initWithImage:navBarImage];
[navBarImageView setFrame:CGRectMake(0, 0, 320, 44)];
self.navigationItem.titleView = navBarImageView;
[navBarImageView release];

Я пытаюсь добавить изображение в панель навигации, но когда я использовал код, указанный выше, он помещает изображение в панель навигации, но оставляет серый пробел слева и справа от изображения. Изображение было создано с разрешением 320x44, я не уверен, почему оно изменяет его размер, несмотря на то, что я устанавливаю рамку.

1 Ответ

2 голосов
/ 24 февраля 2010

Это ... вероятно, не то, как вы хотите это сделать - это не то, для чего titleView. Обычный способ создать пользовательский фон панели навигации - создать категорию на UINavigationBar, например:

 @implementation UINavigationBar(MyCustomBackground)
 - (void)drawRect:(CGRect)r
 {
      [[UIImage imageNamed:@"my-navigation-background.png"] drawInRect:self.bounds];
 }
 @end

Добавьте это в файл .m в вашем проекте, и вы увидите, что все ваши панели навигации используют "my-navigation-background.png" в качестве фона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...