Develop
2016.05.16 17:45
[ios] 기본 네비게이션바의 타이틀, back버튼 위치와 속성 변경
조회 수 2077 댓글 0
첨부 '3' |
|
---|
구글에 비슷한 질문을 했더니 역시나 Stackoverflow에 누군가 같은 질문을 ㅋㅋ
Stackoverflow 질문 내용
Can I change horizontal position of UINavigationBar's title?
Like this image (MY ACCOUNT is the UINavigationBar title)
Stackoverflow 답변 내용
Change the position of the navigationbar title will be difficult.
In my experience, I could use either one of below two ways;
1. Set left button. When you set title and image both to UIButton, it will be exactly same look as like as you want. And set that button to the left button of navigationItem.
2. You can create new view which contains UILabel which have that position and set that view to navigationItem's titleView
위에서 설명한 내용을 작성한 코드
# 1번 내용 코드과 실행 내용
NSMutableArray *leftButtons = [[NSMutableArray alloc] init]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setFrame:CGRectMake(2, 2, 40, 40)]; [button setBackgroundImage:[UIImage imageNamed:@"title_btn_back_w_nor"] forState:UIControlStateNormal]; // SET the image name for your wishes [button addTarget:self action:@selector(backButtonTapped) forControlEvents:UIControlEventTouchUpInside]; // you can ADD the action to the button as well like UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 0, 100, 44)]; [label setAttributedText:[[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"My Closet", nil) attributes:@{ NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName: [UIFont fontWithName:@"Futura-Medium" size:13] }]]; UIView *buttonView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 44)]; [buttonView addSubview:button]; [buttonView addSubview:label]; UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithCustomView:buttonView]; [leftButtons addObject:backButton]; [self.navigationItem setLeftBarButtonItems:leftButtons animated:NO];
# 2번 내용 코드
NSMutableArray *leftButtons = [[NSMutableArray alloc] init]; UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"title_btn_back_w_nor"] style:UIBarButtonItemStylePlain target:self action:@selector(backButtonTapped)]; [leftButtons addObject:backButton]; [self.navigationItem setLeftBarButtonItems:leftButtons animated:NO]; UILabel* titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 44, 320, 44)]; titleLabel.textAlignment = NSTextAlignmentLeft; NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"My Closet", nil) attributes:@{ NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName: [UIFont fontWithName:@"Futura-Medium" size:13] }]; titleLabel.attributedText = attributedText; self.navigationItem.titleView = titleLabel;
[참고] http://stackoverflow.com/questions/30007281/uinavigationbar-horizontal-position
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
1065 | System/OS | [linux] Oracle8.1.6, Mysql+PHP+Zend Optimizer+APACHE+Tomcat(jsp,servlet)+IMAP+gd | hooni | 2003.04.23 | 32444 |
1064 | System/OS | [linux] 특수문자 환경 설정(stty) | hooni | 2003.04.23 | 15267 |
1063 | System/OS | [linux] 메타(기호)문자의 의미와 사용 | hooni | 2003.04.23 | 16374 |
1062 | System/OS | [linux] 프로세스 상태확인(ps) | hooni | 2003.04.23 | 12695 |
1061 | System/OS | [linux] 종료와 종료코드 확인(환경변수에서) | hooni | 2003.04.23 | 15532 |
1060 | System/OS | [linux] 셀 스크립트 if, for, case in.. | hooni | 2003.04.23 | 13678 |
1059 | System/OS | [linux] 스케쥴링 순서(nice) 변경하기 | hooni | 2003.04.23 | 12528 |
1058 | System/OS | [linux] 기존 환경설정 저장하면서 커널 컴파일.. | hooni | 2003.04.23 | 13450 |
1057 | System/OS | [linux] Proftpd 설치 가이드 | hooni | 2003.04.23 | 13013 |
1056 | Develop | [c] 간단한 자료구조(stack, queue, linked list) 구현 소스 6 | hooni | 2003.04.23 | 10098 |
1055 | Develop | [c] 파일입출력, 링크리스트(linked list)를 이용한 주소록(도스용) 소스코드 1 | hooni | 2003.04.23 | 11133 |
1054 | Develop | [c] 테트리스(Tetris) 게임(도스용) 소스코드 | hooni | 2003.04.23 | 11459 |