2010-07-09 2 views
0

지금은 내 응용 프로그램에서 TTButton입니다. 처음에는 TTCatalog과 같은 스타일 시트를 사용하여 TTButton의 색상을 설정합니다.TTButton의 색조 변경

[TTStyleSheet setGlobalStyleSheet:[[[CustomBadgeButtonStyleSheet alloc] init] autorelease]]; 
[code for initializing ttbutton here]; 

을 그리고있다 buttonStyleSheet라는 클래스이며, 거기에 내가 가진 :

그것은 다음과 같습니다

- (TTStyle*)toolbarBackButton:(UIControlState)state { 
    TTShape* shape = [TTRoundedLeftArrowShape shapeWithRadius:4.5]; 
    UIColor* tintColor = RGBCOLOR(47,47,47); 
    return [TTSTYLESHEET toolbarButtonForState:state shape:shape tintColor:tintColor font:nil]; 
} 

을하지만 것은 단지 내가 그것을 초기화 것으로, 색조 색상 (TTStyle*)toolbarBackButton:(UIControlState)state 방법으로 설정된 색상이됩니다.

하지만 나중에 setter를 사용하여 색상을 변경할 수 있기를 원합니다. 나중에 색조를 변경할 수있는 방법이 있습니까?

답변

1

버튼의 색조를 변경하는 것은 매우 어려울 것입니다. 색조 색상에서 파생 된 다른 색상이 있고 스타일의 다른 부분과 모든 주에서 사용되기 때문입니다.

사용할 색조의 수가 제한되어있는 경우 가장 유망한 방법은 TTButons setStylesWithSelector: 방법을 사용하여 스타일을 변경하는 것입니다. 스타일 시트에 정의한 메서드의 선택자를 전달하기 만하면됩니다.

임의의 색상을 지원해야하는 경우 스타일 시트에서 settable UIColor 속성을 사용하여 단추의 스타일을 구성 할 수도 있습니다. 확실하지 않지만 TTStylesheet 캐싱 스타일에 의해 제한 될 수 있습니다.