2013-10-31 2 views
1

테이블보기의 상태에 따라 도구 모음의 보이는 단추를 변경하려고합니다. 이것이 가능한가?보기를로드 한 후 도구 모음에서 단추를 추가, 삭제 또는 숨길 수 있습니까?

세부 정보 추가 : 현재 운동 목록을 테이블보기로 가지고 있습니다. 맨 아래에는 새로운 "운동"을 ​​만들 수있는 버튼이있는 툴바가 있습니다. 사용자가 오른쪽 상단의 "편집"을 클릭하면보기가 편집 모드로 전환되고 도구 모음에서 이제 숨겨진 "삭제"버튼을 클릭하여 여러 선택을 사용하여 연습을 삭제할 수있게하려고합니다. 이 시점에서 "새로운"버튼을 사라지게 만들고 "삭제"버튼 만 남기려고합니다.

도구 모음을 추가하고 단추를 추가하는 방법에 대한 답을 많이 찾을 수 있지만보기가로드되면 아무 것도이 문제를 해결하지 못하는 것 같습니다.

각기 다른 단추가있는 두 개의 다른 도구 모음이있는 것과 숨겨진 도구와 보이는 도구를 전환하는 방법에 대해 생각해 봤지만 다른 문제가 발생할 수 있으므로 추가 된 항목을 숨길 수있는 쉬운 방법이 있는지 살펴보고 있습니다. 버튼.

+0

그냥보기 컨트롤러의 'toolbarItems' 속성을 새 버튼으로 업데이트하십시오. 이것은 뷰 컨트롤러가 네비게이션 컨트롤러에 있다고 가정합니다. – rmaddy

답변

0

정말 쉽습니다. 먼저 다음 UIToolbar를 만들 그것을 항목을 addd하는 방법을 보면 다음이 그것을 만드는 방법입니다

self.MNToolbar=[[UIToolbar alloc] init]; 

self.addButton=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(importPhotos:)]; 

self.flexibleSpace=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; 

self.MNToolbar.items=[[NSArray alloc] initWithObjects:flexibleSpace, addButton, flexibleSpace, nil]; 

[self.view addSubView:self.MNToolbar]; 
// don't forget to set the bounds too 

런타임 중에 설정을 변경할 수 있습니다.

확인 지금 런타임

난 당신이 포인트를 얻을 희망
self.deleteButton=[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(deletePhotos:)]; 

self.MNToolbar.items=[[NSArray alloc] initWithObjects:self.deleteButton, nil]; 

동안 그것을 변경하는 방법을 볼 수 있습니다. 궁금한 점이 있으면 알려주세요.

+0

왜 'UIToolbar'를 만드시겠습니까? 보기 컨트롤러가 탐색 컨트롤러에 있다고 가정하면 탐색 도구 모음이 이미 제공됩니다. 뷰 컨트롤러의'toolbarItems' 속성을 새로운 툴바 아이템 배열로 설정하기 만하면됩니다. – rmaddy

+0

그는 "버튼이있는 툴바가 하단에 있습니다"라고 말했습니다. 그래서 그는 내비게이션 컨트롤러에 대해 말하지 않고있다. –