UIBarButtonItems의 다른 배열을 만들고 런타임에 UIToolbar에 추가/제거하면 실행의 복잡성이 증가 할 수 있습니다.
나는 다른 접근법을 사용하여 그것을했습니다. 그것을 달성하기위한 발췌 문장은 다음과 같습니다.
1 단계 : IBOutlet을 만들거나 UIToolbar 인스턴스를 만듭니다.
UIToolbar *toolBar = [UIToolbar alloc] init];
원하는 경우 스타일을 설정하십시오.
2 단계 : UIButton 유형 인스턴스를 생성하십시오.
UIButton *button1, *button2;
3 단계 : 필요하면 이미지를 버튼에 지정하십시오.
button1 = [UIButton alloc] initWithFrame:CGRectMake(0.f,0.f,30.f,30.f);
[button1 setBackgroundImage:[UIImage imageNamed:@"image1.png"] forState:UIControlStateNormal];
button2 = [UIButton alloc] initWithFrame:CGRectMake(0.f,0.f,30.f,30.f);
[button2 setBackgroundImage:[UIImage imageNamed:@"image2.png"] forState:UIControlStateNormal];
4 단계 : 사용자 지정보기로 위의 버튼과 UIBarButtonItem 인스턴스를 생성합니다.
UIBarButtonItem *toolbarbuttonItem1 = [UIBarButtonItem alloc] initWithCustomView:button1];
UIBarButtonItem *toolbarbuttonItem2 = [UIBarButtonItem alloc] initWithCustomView:button1];
5 단계 : 툴바에 바 버튼 항목을 지정하십시오.
toolBar.items = [NSArray arrayWithObjects:toolbarbuttonItem1,toolbarbuttonItem2,nil];
6 단계 : 도구 모음을 VIEW에 추가하십시오.
7 단계 : VIEW에 UIButton IBOutlet을 만들고 click 이벤트를 할당하십시오.
숨기기를 전환하려면 다음 도우미 메서드 int click 이벤트를 호출하십시오.
- (void) toggleToolbarButtons {
button1.hidden = !button1.hidden;
button2.hidden = !button2.hidden;
}
희망 하시겠습니까?
아마도 이미 시도했지만 버튼의 'hidden'속성을 사용할 수 없습니까? – Novarg
@Novarg : UIButton에서 상속되지 않으므로 해당 속성을 UIBarButtonItem에서 사용할 수 없습니다. – RLH
단추를 IBOutlets로 연결하면 도구 모음의 항목을 조정할 때 단추를 참조 할 수 있습니다. 문제를 단순화하기 위해이 작업을 수행 할 때 사용하는 방법을 설명하는 답변을 넣었습니다. – Chad