2009-12-10 3 views
2

서브 클래스가 UIToolbar이고 그 안에 UIButtonItems 세트가 만들어졌으며 모두 유연한 공백으로 정렬되어 있습니다. 내가 지금 UIButtonItems 그냥 아이팟에서 셔플 버튼처럼 (탭 때마다 중 하나를 전환하려면, 흰색, 파란색 흰색, 파란색은. 나는 UIButtonItem에 대한 참조를 유지하고있다.iPhone UIToolbar UIButtonItem highlighting

// interface 
UIButtonItem *_shuffleButton;  // released in dealloc 

// implementation 
UIImage *_shuffleButtonImage = [UIImage imageNamed:@"shuffle_icon_200x100.png"]; 
_shuffleButton = [[UIBarButtonItem alloc] initWithImage:_shuffleButtonImage style:UIBarButtonItemStylePlain target:self action:@selector(shuffleButtonTapped)]; 

을 이제 shuffleButtonTapped에 내가 원하는 같은 것을 할 :.

_shuffleButton.highlighted = YES; 
// or 
_shuffleButton.selected = YES; 

그러나이 작품의도를 내가 높고 낮은 내가 뭔가를 놓친 거지 생각하기 시작하고 아무것도 찾을 실패 후 검색 한

것은, 사람이 말해 줄 수 무엇을 미 ght 수 ?? 감사.

답변

0

단순한 이미지를 단추로 표시하려면 UITabBar를 대신 사용하십시오. 선택 UI가 자동으로 변경됩니다.

+0

답장을 보내 주셔서 감사합니다. 이미지의 파란색 모양을 원하지만 선택한 탭을 둘러싸고 희미한 사각형을 원하지는 않습니다. 나는 당신이 Tabbar에 다른 하나없이 가질 수 없다는 것을 확신합니다. 마찬가지로 내가하고있는 효과는 이미지가 파란색으로 바뀌는 iPod 앱의 셔플 버튼과 동일합니다. 다른 누구도 통찰력이 없다면 내 자신을 굴려야 할 수도 있습니다. – macasas

+0

잘 모르겠습니다 만 UIBarButtonItem의 initWithCustomView 메소드를 시도한 다음 버튼을 클릭 한 후이 뷰를 변경할 수 있습니다. – Morion

3

내보기는 사실 내 다른 버튼을 만들었으며 다른보기와 마찬가지로 애니메이션으로 표시 할 수 있습니다.

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom ]; 
btn.frame = CGRectMake(0, 0, 30, 30.0); 
[btn setBackgroundColor:[UIColor colorWithRed: 0.3f green:0.3f blue:0.3f alpha:1.0f]]; 

[btn setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal]; 
[btn addTarget:viewController action:@selector(rightButtonTouchUpInside) forControlEvents:UIControlEventTouchUpInside]; 

UIBarButtonItem *customItem = [[UIBarButtonItem alloc] initWithCustomView:btn]; 
viewController.navigationItem.rightBarButtonItem = customItem; 
[customItem release];