Не удалось вызвать элемент панели кнопок с пользовательским представлением? - PullRequest
2 голосов
/ 24 января 2012

В моем приложении для iPhone,

У меня есть одно изображение на панели навигации, которое я настроил ...

   if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){

        [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationBarReady.png"] forBarMetrics:UIBarMetricsDefault];
    }

    UIBarButtonItem *bbiLeft=[[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"btnBack.png"] style:UIBarButtonItemStylePlain target:self action:@selector(btnBackPressed:)]; 
    [bbiLeft setTintColor:[UIColor clearColor]];
    [bbiLeft setBackgroundVerticalPositionAdjustment:7.0f forBarMetrics:UIBarMetricsDefault];
    self.navigationItem.leftBarButtonItem=bbiLeft;

Похоже, что это ...

enter image description here

Я хочу установить его цвет в качестве фона панели навигации

Как ?? Спасибо ..

Ответы [ 2 ]

2 голосов
/ 24 января 2012

Получить ответ ...

/* Back Button setted*/    
    UIButton *btnBack=[UIButton buttonWithType:UIButtonTypeCustom];
    [btnBack addTarget:self action:@selector(btnBackPressed:) forControlEvents:UIControlEventTouchUpInside];
    [btnBack setImage:[UIImage imageNamed:@"btnBack.png"] forState:UIControlStateNormal];
    [btnBack setFrame:CGRectMake(0, 0, 51,16)];
    UIView *backModifiedView=[[UIView alloc] initWithFrame:btnBack.frame];
    [btnBack setFrame:CGRectMake(btnBack.frame.origin.x, btnBack.frame.origin.y+7, btnBack.frame.size.width, btnBack.frame.size.height)];
    [backModifiedView addSubview:btnBack];
    UIBarButtonItem *bbiLeft=[[UIBarButtonItem alloc] initWithCustomView:backModifiedView];
      self.navigationItem.leftBarButtonItem=bbiLeft;



/* Arpit */
//set Navgation Bar.   
    if ([self.navigationController.navigationBar respondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){

        [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationBarReady.png"] forBarMetrics:UIBarMetricsDefault];
    }
0 голосов
/ 24 января 2012

Настройка очистки tintColor не работает, вы должны выбрать цвет, соответствующий фону полосы.

Кроме того, вам может потребоваться установить tintColor UINavigationBar, а не tintColor самого UIBarButtonItem, поскольку панель навигации отвечает за тонирование своих собственных элементов кнопок.

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