2014-03-27 1 views
11

내 탐색 모음에 사용자 지정 단추가 추가되었습니다. 여기에 코드가 있습니다. 내 문제는 iOS7에서 텍스트가있는 단추 이미지를 볼 수 있다는 것입니다. iOS 7.1에서는 이미지가 표시되지 않고 텍스트 만 표시됩니다. This is iOS 7.1This is iOS 7사용자 지정 단추 이미지가 탐색 모음에 표시되지 않습니다. iOS 7.1

-(void)addBackButton{ 

    self.navigationItem.hidesBackButton = YES; 

    [backButtonView removeFromSuperview]; 

    if (backButtonView) { 
     [backButtonView release]; 
     backButtonView = nil; 
    } 

    backButtonView = [[UIView alloc] initWithFrame:CGRectMake(0,6,70,30)]; 

    NSString *strText = @"Back"; 

    btnBack = [[UIButton alloc] initWithFrame:CGRectMake(2,0, 70, 31)]; 

    [btnBack setTitle:strText forState:UIControlStateNormal]; 
    btnBack.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue-Medium" size:17]; 
    btnBack.titleLabel.textColor = IOS7ColorBtnBackText; 
    [btnBack setImage:[UIImage imageNamed:@"Left_Arrow.png"] forState:UIControlStateNormal]; 

    [btnBack addTarget:self action:@selector(btnBack:) forControlEvents:UIControlEventTouchUpInside]; 

    [backButtonView addSubview:btnBack]; 
    [btnBack release]; 

     [self.navigationController.navigationBar addSubview:backButtonView]; 


} 

답변

3

대신 navigationView에 하위 뷰로 추가하는 사용자 지정 왼쪽 버튼 또는 오른쪽 버튼을 할당 할 수 있습니다이 너무

UIButton *backbtn=[[UIButton alloc]initWithFrame:CGRectMake(20,5,42, 42)]; 
    [backbtn setImage:[UIImage imageNamed:@"arrow.png"] forState:UIControlStateNormal]; 
    [backbtn setTitle:@"Login" forState:UIControlStateNormal]; 
    [backbtn addTarget:self action:@selector(didTapBackButton:) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem *barbtn=[[UIBarButtonItem alloc]initWithCustomView:backbtn]; 
    self.navigationItem.leftBarButtonItem=barbtn; 
2
[self.navigationItem setHidesBackButton:YES]; 

이 일을하지만, 당신이 여기 실수를

[self.navigationController.navigationBar addSubview : backButtonView]

이 ///// 사용자 정의 버튼을 만들려면 코드가 여기에 표시됩니다

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem ALLOC] initWithCustomView : BACK 버튼]

0

사용자 정의 버튼을 만들고으로 탐색 왼쪽 막대 버튼 항목에 추가 작동 맞춤보기는 다음과 같습니다.

let btnShowMenu = UIButton() 
let image: UIImage = UIImage(named: "requiredImageName")! 
btnShowMenu.setImage(image, for: UIControlState.normal) 
btnShowMenu.frame = CGRect(x: 0, y: 0, width: 15, height: 15) 
btnShowMenu.addTarget(self, action: #selector(addAnAction(_:)), for: UIControlEvents.touchUpInside) 
let customBarItem = UIBarButtonItem(customView: btnShowMenu) 
self.navigationItem.leftBarButtonItem = customBarItem;