저는 ShadowView라는 UIImageView 하위 클래스가 있습니다.이 하위 클래스는 아무 것도 사용할 수있는 그림자를 표시합니다. 섀도우 뷰는 펜촉에서로드됩니다. stretchableImageWithLeftCapWidth : topCapHeight는 UIImageView 하위 클래스의 initWithCoder :에서 작동하지 않습니다.
- (id)initWithCoder:(NSCoder *)decoder {
self = [super initWithCoder:decoder];
if (self != nil) {
UIImage *shadowImage = [[UIImage imageNamed:@"drop_shadow_4_pix.png"] stretchableImageWithLeftCapWidth:4 topCapHeight:4];
[self setContentMode:UIViewContentModeScaleToFill];
[self setImage:shadowImage];
}
return self;
}
나는 응용 프로그램을 실행
는하지만,이 이미지가 표시되지 않습니다 : initWithCoder에서:, 나는 다음과 같은 코드가 있습니다.
하지만
...
UIImage *shadowImage = [UIImage imageNamed:@"drop_shadow_4_pix.png"];
...
잘 작동으로 변경,하지만이 잘못 뻗어 경우.
왜 이런 일이 발생하는지 알고 싶습니다.
편집 : initWithFrame :을 사용하여 프로그래밍 방식으로 shadowview를로드 할 때와 동일합니다. initWithCoder :와 유사하게 구현됩니다.
다른 편집 : 나는 문제를 해결했다고 생각합니다. 자동 크기 조정 마스크를 설정해야했습니다.
9 픽셀 x 9 픽셀입니다. 중앙 행과 열, 양쪽에 마개가 있습니다. –