사용자 지정 단추를 그릴 때 paintcodeapp를 사용하고 있습니다. 가 나는 버튼에있을 때 setNeedsDisplay를 호출 할 필요가 "정상"두 개의 서로 다른 상태 "를 누르면"과누를 때 다시 그리기 UIButton
을 그리는했습니다 나는 다음 두 가지가 drawRect:
방법
self.highlighted
를 사용하여 그립니다 파견
"상태를 누르면"
내가 함께 시도했다 :
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self addTarget:self action:@selector(didDetectEvent:) forControlEvents:UIControlEventTouchDown];
[self addTarget:self action:@selector(didDetectEvent:) forControlEvents:UIControlEventTouchUpInside];
[self addTarget:self action:@selector(didDetectEvent:) forControlEvents:UIControlStateNormal];
}
return self;
}
-(void)didDetectEvent:(id)sender {
[self setNeedsDisplay];
}
그러나 그것은 작동하지 않습니다. 제안 사항이 있으십니까? 나는 그것을 관리 할 버튼이 일반적인 관점에서 구현되는 것으로 가정
-(void)didDetectEvent:(id)sender {
UIButton *btn = (UIButton *)sender;
[btn setNeedsDisplay];
}
:와
또한 0.2 초 후에 setNeedsDisplay를 호출해야했습니다. 나는 다른 대답으로 코드를 게시 할 것이다. – Luka