изображение в заголовке навигационной панели в объективе c - PullRequest
0 голосов
/ 13 января 2012

Я сделал приложение для iPad, в котором я использовал элемент управления навигацией,

, теперь в строке заголовка, я хочу разместить изображение слева, поэтому я скрываю строку заголовка с меткой, но метка неохватывающий всю ширину строки заголовка,

IL-ПРИЛОЖЕНИЕ В Снимке экрана,

вот фрагмент кода,

UILabel *titleView = (UILabel *)self.navigationItem.titleView;
    if (!titleView) {
        titleView = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 800, 50)];
        titleView.backgroundColor = [UIColor clearColor];
        titleView.font = [UIFont boldSystemFontOfSize:20.0];
        titleView.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];

        titleView.textColor = [UIColor yellowColor]; // Change to desired color


        titleView.backgroundColor=[UIColor blackColor];

        titleView.text = @"IL APP";
        titleView.textAlignment=UITextAlignmentCenter;
        //self.navigationItem.titleView = titleView;
        [self.navigationItem setTitleView:titleView];
        [titleView release];
    }

screen

Ответы [ 3 ]

3 голосов
/ 13 января 2012

@ Гама, что касается вашего вопроса, вы просите поместить изображение, но ваша настоящая проблема, о которой идет речь, заключается в том, что ярлык не закрывает строку заголовка. Чтобы покрыть это правильно, вы можете использовать

UILabel *titleView = (UILabel *)self.navigationItem.titleView;
if (!titleView) {
    titleView = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, 32)];
    titleView.backgroundColor = [UIColor clearColor];
    titleView.font = [UIFont boldSystemFontOfSize:20.0];
    titleView.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
    titleView.textColor = [UIColor yellowColor]; // Change to desired color
    //titleView.backgroundColor=[UIColor blackColor];
    titleView.text = @"IL APP";
    titleView.textAlignment=UITextAlignmentCenter;
    [self.navigationItem setTitleView:titleView];
    [titleView release];
}
[self.navigationController.navigationBar setTintColor:[UIColor blackColor]];

Для использования изображения вы можете использовать представление изображения вместо метки, назначаемой в качестве titleView для navigationItem.

Надеюсь, это поможет

0 голосов
/ 11 августа 2013

Привет, я хотел сделать то же самое, и я увидел твою публикацию, я в основном использовал предоставленный тобой код, немного его изменил и заставил работать, см. Ниже:ПРИМЕЧАНИЕ: вы должны сделать эту строку внизу, чтобы добавить изображение на панель навигации. Попробуйте!

self.navigationItem.titleView = titleImage;
0 голосов
/ 13 января 2012

Я пытался решить вашу проблему, но получил тот же результат.

Но вы можете скрыть панель навигации и добавить UILabel в ваш ViewController

self.navigationController.navigationBarHidden = FALSE;
[self.view addSubview:titleview];

UIImageView *imageNav = [[UIImageView alloc] initWithImage: [UIImage imageNamed: @"navImage.png"]];
[self.navigationController.navigationBar addSubview:imagenav];

[self.navigationController.navigationBar sendSubviewToBack:imageNav];
[imageNav release];
...