사용자 정의 UIButton의 배경으로 이미지를 설정하려고합니다. 인터페이스 빌더에서 "둥근 직사각형"UIButton에 대한 배경 이미지를 설정할 수 있었지만 지금은 테두리가 사라졌습니다. 국경을 유지할 방법이 있습니까? 또한 테두리를 반올림하지 않고 사각형으로 표시하고 싶습니다.사용자 정의 유형 UIButton에 사각형 경계를 설정하는 방법
답변
당신이 버튼에 배경 이미지를 설정하면 버튼이 사라 설명 :
다음은 예입니다. 당신이 필요로하는 경우 다른 크기는
stretchableImageWithLeftCapWidth:topCapHeight:
방법 있는 UIImage
보면, 이미지에 포함.cornerRadius
, borderWidth
및 borderColor
속성을 CALayer
으로 확인하십시오. 이러한 속성은 iPhone OS 3.0부터 새로 추가되었습니다.
UIButton
의 하위 클래스를 만든 다음 생성자에서 이러한 속성을 설정하는 것이 좋습니다. 단추에는 이러한 테두리 속성을 설정하기 위해 액세스 할 수있는 레이어 속성이 있습니다.
- (id)initWithFrame:(CGRect)frame {
if(self = [super initWithFrame:frame]) {
[self.layer setBorderWidth:1.0];
[self.layer setCornerRadius:5.0];
[self.layer setBorderColor:[[UIColor colorWithWhite:0.3 alpha:0.7] CGColor]];
}
return self;
}
iPhone 2.2.1에서 해결 방법이 있습니까? – afin
2.2.1에서는 켄달 (Kendall)이 아래에 제안한 내용을 따라 뭔가를 설명 할 것입니다. 이것은 새로운 응용 프로그램입니까? 그렇다면 애플이 아이폰 OS 3.0과 호환되는 앱만 승인 할 것이라고 확신한다. –
예, 새로운 응용 프로그램입니다. Apple은 OS 3.0 호환 응용 프로그램 만 승인 할 것이므로 새 응용 프로그램은 이전 OS 버전에서 작동하지 않을 수 있습니다. OS 3.0 업그레이드가 무료이지만, 일부는 업그레이드를 기꺼이하지 않을 수도 있습니다. 생각을 공유하십시오. – afin
#import <QuartzCore/QuartzCore.h> // don't forget to add this in your file
CALayer * layer = [yourUIButton layer];
[layer setMasksToBounds:YES];
[layer setCornerRadius:0.0]; //when radius is 0, the border is a rectangle
[layer setBorderWidth:1.0];
[layer setBorderColor:[[UIColor grayColor] CGColor]];
나는 이것이 이전 질문이지만 여전히 내 대답을 게시하고 싶습니다. 나는 대답을 찾고 있었기 때문에 쉽게 해결할 수있었습니다.
정말 고마워요. – SampathKumar
코어 애니없이 이것을 할 방법이 없습니까? –
아래 @TylerJames를 보지 못한 사람들을 위해 : QuartzCore 프레임 워크를 가져와야 작동합니다. – mbuc91
IB의 "사용자 정의 런타임 속성"을 사용하여 아래 이미지 에서처럼 둥근 모서리를 설정할 수도 있습니다.
좋아요! 감사합니다 –
이것은 좋은 발견입니다! 감사합니다 :) – windson
난 그냥 남 시구와 조나단에서 제공하는 답변을 추가하고 싶습니다.
레이어의 속성 border
및 cornerRadius
에 액세스하려면 먼저 QuartzCore 프레임 워크를 가져와야합니다.
#import <QuartzCore/QuartzCore.h>
그렇지 않으면 속성에 액세스 할 수 없습니다.
중요한 트릭을 추가하기위한 감사합니다 :) – trillions
버튼의 레이어 속성에 액세스하여 CALayer에서 테두리 속성을 설정할 수 있습니다.
첫째, 석영
#import <QuartzCore/QuartzCore.h>
속성 설정을 추가
[[myButton layer] setBorderWidth:2.0f];
[[myButton layer] setBorderColor:[UIColor greenColor].CGColor];
- 1. 스칼라에서 여러 유형 경계를 설정하는 방법은 무엇입니까?
- 2. 요소 경계를 설정하는 일반적인 방법
- 3. 동적 유형 필드를 설정하는 방법
- 4. 프레임보다 작은 경계를 가진 사용자 정의 UIView
- 5. 사용자 정의 포스트 유형
- 6. 사각형의 두 점 사이에서 사각형 경계를 반복합니까?
- 7. WPF 검증 : 사용자 정의 ErrorTemplate 경계를 유지하는 방법 올바른 크기
- 8. jBoss에서 사용자 정의 http 헤더를 설정하는 방법
- 9. PHP에서 사용자 정의 헤더를 설정하는 방법
- 10. OpenCL 커널의 사용자 정의 유형
- 11. cx_Oracle 및 사용자 정의 유형
- 12. DataTables 및 사용자 정의 유형
- 13. 셰어 사용자 정의 필드 유형
- 14. 매핑의 사용자 정의 ID 유형
- 15. 배열에 사용자 정의 유형 추가
- 16. 사용자 정의 게시 유형 WordPress
- 17. C++ unordered_map 사용자 정의 유형
- 18. Postgres hashing 사용자 정의 유형
- 19. UIButton에 프레임을 추가하는 방법
- 20. Mechanize in Rails에 사용자 정의 사용자 에이전트를 설정하는 방법
- 21. 사용자 역할에 따라 사용자 정의 컨트롤을 설정하는 방법
- 22. 사용자 정의 필드 유형 상속 PropertySchema
- 23. 스칼라즈로 뷰 경계를 사용하기
- 24. 클래스의 배열로 Settings.settings의 사용자 정의 데이터 유형
- 25. 엔티티 POCO에서 사용자 정의 데이터 유형 사용?
- 26. 루아에서 효율적인 사용자 정의 데이터 유형
- 27. 점 배열의 경계 사각형 정의
- 28. UIbutton에 툴팁 추가하기
- 29. Wordpress 사용자 정의 게시물 유형 URL을 수정하는 방법?
- 30. 데이터 유형 확인 ... 방법/위치 및 사용자 정의 오류 문자열?
조금 더 정보를 아마? -drawRect를 구현하고 있습니까? 어떤 종류의 맞춤 검색 버튼입니까? 이미지를 사용하여 배경 설정을 시도 했습니까 (대부분의 사람들이 그렇게 할 것입니다), 아니면 특별히 사각형 그리기 방법을 찾고 계십니까? –
좀 더 구체적이어야합니다. 사용자 지정 테두리를 그리려고합니까? 버튼의 크기를 설정 하시겠습니까? 자세한 내용을 알려주십시오. –
괜찮아요, UIButton의 배경으로 이미지를 설정하려고합니다. 인터페이스 빌더에서 "rounded rect"UIButton에 대한 배경 이미지를 설정하여이 작업을 수행했습니다. 그러나 국경은 사라진다. 국경을 유지할 방법이 있을까? 또한 "둥근 직사각형"대신에 직각으로 테두리를 만들어야합니다. – afin