-
UIBarButtonItem을 만들어보자앱등이에게 살충제를 뿌린다./일기는 일기장에 2016. 8. 6. 20:19
<사진 출처 : 구글검색 uitoolbar>
UIBarButtonItem은 UIToolbar, UINavigationBar 등의 메뉴에 사용된다. 사용은 아래와 같다.
(결과참조:http://rhammer.tistory.com/173)
여기에 포스팅할 내용은 이 UIBarButtonItem을 만드는 방법에 관한 것이다.
1. 시스템에서 제공하는 item
위 예제를 참조하세요!
2. 이미지만 갖고 만드는 item
3. 타이틀만 갖고 만드는 item
4. 커스텀 UIView를 갖고 만드는 item
사실 이 4번이 핵심이다. 1,2,3 번은 쉬운데 4번은 생각보다 까다롭다. 4번은 아래의 메소드를 사용해야 한다.
Declaration
SWIFT
convenience init(customView
customView
: UIView)OBJECTIVE-C
- (instancetype)initWithCustomView:(UIView *)
customView
이 메소드만 보고는 이런 코드를 떠올리기가 쉽다.
이 소스의 경우에 탭을 터치해도 onTouchedTab이 호출되지 않는다. customView로 barButtonItem을 생성하면 아무래도 target/action을 지정할 수 없는듯 했다.
그래서 UIView가 아닌 UIButton으로 customView를 생성하여 이 문제를 해결할 수 있다.
이 때 onTouchedTab메소드의 parameter로 들어오는 sender의 타입을 UIBarButtonItem이 아닌 UIButton이라는 점을 아는 것이 좋다.
아무래도 다른 방법이 있을 것 같으므로, 아는 분은 알려주시면 감사하겠습니다.
'앱등이에게 살충제를 뿌린다. > 일기는 일기장에' 카테고리의 다른 글
iOS10에서의 ATS.. 너무 힘들지만 TLS version을 건들여 보자.. (1) 2016.09.29 UIViewController의 toolbarItems가 셋팅이 안된다. (0) 2016.08.13 view를 위해 viewController를 만든다? (0) 2016.07.21 [아몰랑] 컴파일타임 메소드와 런타임 메소드 (0) 2016.07.19 UIBarButtonItem의 initWIthCustomView에 addTarget:action:이 안먹힌다? (1) 2016.07.07