2012-05-07 2 views
6

내 iPhone 프로젝트에 StoryBoard 기능을 사용하고 있습니다. 스토리 보드에는 프로토 타입 셀을 사용하는 테이블 뷰가있는 뷰 컨트롤러가 있습니다. 프로토 타입 셀 안에는 하위 클래스 UIButton 클래스에 연결된 UIButton (둥근 사각형)이 있습니다. tableview는 배열에서 데이터를 가져오고 데이터는 cellForRowAtIndexPath에 출력됩니다.UIButton setTitleColor 및 setImage가 작동하지 않습니다.

cellForRowAtIndexPath 내부에서 셀의 모양을 조건부로 수정합니다. 이것은 문제가 생기기 시작할 때입니다. 단추의 텍스트를 성공적으로 변경할 수 있습니다. 그러나 단추의 이미지를 변경하려고하면 다음을 사용하십시오.

[cell.myButton setImage:[UIImage imageNamed:@"mynewimage.png"] forState:UIControlStateNormal]; 

이미지는 변경되지만 텍스트는 사라집니다.

[cell.myButton setTitleColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:.77] forState:UIControlStateNormal] 

아무것도 전혀 발생하지 : 사용

I 버튼의 텍스트 색상을 변경하려고하면

. 색상이 동일하게 유지됩니다 (이미지를 변경하려고하지 않는 한 이미지가 완전히 사라집니다).

나는 근본적으로 잘못된 것을하고 있습니다. 당신은 어떤 제안이 있습니까?

답변

4

사용

- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state; 

왼쪽 텍스트를 변경하려면

사용

btn.titleLabel.textColor = yourcolor; 

텍스트 색상 변경

+1

좋아요, 이미지가 올바르게 설정되었습니다 (텍스트가 사라지지 않음).그러나 텍스트 색상에는 아무런 변화가 없습니다. – tremolo

3

아래와으로 myButton을 정의하고 check.This이 code.The 코드에서 잘못 될 수있다이다 :

myButton = [UIButton buttonWithType:UIButtonTypeCustom]; 

이 새로 편집 해되는 부분 :

[myButton setBackgroundImage:yourimage forState:UIControlStateNormal]; 
    [myButton setTitleColor:yourcolor forState:UIControlStateNormal]; 
+0

이 단추는 프로그래밍 방식으로 추가되지 않으며 스토리 보드에 추가됩니다. – tremolo

0

나는 당신이 원하는 것은 당신의 버튼 배경을 변경하는 것 같아요 당신이 버튼을 전면 측의 이미지를 설정했기 때문에

[cell.myButton setBackgroundImage:[UIImage imageNamed:@"mynewimage.png"] forState:UIControlStateNormal]; 
0

당신의 텍스트가 사라집니다 버튼 메인 이미지로

[cell.myButton setImage:[UIImage imageNamed:@"mynewimage.png"] forState:UIControlStateNormal]; 

이미지가 UIButton 컨텍스트의 뒷면에 그려지기 때문에 텍스트가 보이도록 단추 배경 이미지를 설정해야합니다. ...

[cell.myButton setBackgroundImage:[UIImage imageNamed:@"mynewimage.png"] forState:UIControlStateNormal]; 
2

이것은 사용자 정의 버튼에 다른 속성을 설정하는 방법입니다 당신은 또한 ... 여기

을 그 setBackgroudimage 및 setTitleColor 곳의 호텔 :

그래서 단지에 위의 코드 라인을 교체

UIButtin *myButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [myButton setFrame:CGRectMake(165, 205, 65, 40)]; 
    [myButton setTitleColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:.77] forState:UIControlStateNormal]; 
    [myButton setTitle:@"Hi....." forState:UIControlStateNormal]; 
    [myButton addTarget:self action:@selector(btnClicked:)  forControlEvents:UIControlEventTouchUpInside]; 
    [myButton setBackgroundImage:[UIImage imageNamed:@"mynewimage.png"] forState:UIControlStateNormal]; 
    [cell addSubview:myButton]; 

감사합니다 ..

관련 문제