3 개의 그림이있는 자체 TextField를 그려 보겠습니다.NSTextField 사용자 정의 배경, 테두리 및 모서리
- input_l.png - 입력의 중간 부 - - 1 픽셀 폭 - 중간 부분을
- input_r.png 채우기 위해 신장 또는 다중하는데 - 우측 입력
- input_m.png 좌측
모든 이미지에는 테두리, 배경, 그림자가 포함되어 있습니다. 모든 그림은 그 그림들과 함께 만 그려야합니다.
하지만 NSTextField있는의 서브 클래스에서 이러한 방법으로 그릴 관리 할 수 없습니다 : 그것은 텍스트/자리와 검은 배경을 그립니다
- (void)awakeFromNib
{
[self setDrawsBackground:NO];
}
- (void)drawRect:(NSRect)rect
{
NSDrawThreePartImage(rect, [NSImage imageNamed:@"input_l.png"], [NSImage imageNamed:@"input_m.png"], [NSImage imageNamed:@"input_r.png"], NO, NSCompositeSourceOut, 1.0, NO);
[super drawRect:rect];
}
을이 말씀 해주십시오 : 그냥 내가없이 1 픽셀의 넓은 배경 이미지를 사용할 수 있다는 것을 나에게 발생 그릴, 더 나은 다른 방법이있는 경우 :
이보고하도록되어 어떻게 이것을 그리고 코드에서 그리는 테두리는 모서리를 둥글게 만들고 여하튼 경계를 그리게됩니다. 그러나 나는 아직도 내가 시도한 방법대로, 미래의 사용을 위해 알고 싶다.
[NSBezierPath bezierPathWithRoundedRect : xRadius : yRadius]와 경계를 그리려고했는데보기 흉한 것처럼 보입니다. 조금 pixelized 같은. –