2010-08-08 4 views

답변

5

글쎄, 거의. UIButton을 하위 클래스 화하지 않고 사용자 정의로 설정해야합니다. 그러면 다음과 같이 할 수 있습니다.

myButton.layer.cornerRadius = 8; 
myButton.layer.backgroundColor = [[UIColor blueColor] CGColor]; 

테두리 두께와 색상을 이와 같이 구성 할 수도 있습니다. 자세한 내용은 CALayer documentation을 참조하십시오. , 당신은 roundedrect가 가지고있는 섹시한 강조 빛 소싱을 잃고,

4

는 내가 그것을 잘 작동, 누군가가 그 답을을 downvoted 이유를 잘 모릅니다,하지만 당신은 QuartzCore 프레임 워크와

#import <QuartzCore/QuartzCore.h> 

후 끝내 작동

를 추가 해 하지만

3

올리버가 언급 한 바와 같이,이 문제를 해결하는 가장 간단한 방법은 사용자 정의 유형과 자신있는 UIButton을 만드는 것입니다 그 확실히 가치 색상 제어

// initialize your own UIButton 
UIButton *myBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
// set background color 
[myBtn setBackgroundColor:[UIColor blackColor]]; 
// set corner radius 
myBtn.layer.cornerRadius = 8; 

.m 구현 파일에 Quartzcore 프레임 워크를 가져 오는 것을 잊지 마십시오. 그렇지 않으면 사용자 정의 버튼의 cornerRadius를 설정할 수 없습니다.

#import <QuartzCore/QuartzCore.h> 
+0

고마워요! 어떻게하면 사용자가 버튼을 누르면 backgroundColor를 변경할 수 있습니까? 지금 버튼이 나타나지만 눌렀을 때 상태는 바뀌지 않습니다. – user1107173