사용자가 뷰를 스 와이프 할 수 있음을 보여주기 위해 내 앱의 세로 막대에 "그립"을 만들려고합니다. 그저 이미지의 작은 버전을 사용하고 싶습니다.이 이미지에는 바의 나머지 부분에 대한 배경 인 그립과 1 px 위아래가 있습니다. 그래서 :외부 확장 및 내부가 동일하게 유지되는 크기 조정 가능 UIImage
ssss ssss
gggg becomes ssss
ssss gggg
ssss
ssss
resizableImageWithCapInsets:
당신이 아이폰 OS가 바깥 쪽 가장자리를 조정하지 말 할 수 있지만 내부를 조정하고 외부와 스트레칭하지 그것을 말할 수있는 방법이 방법?
큰 뚜껑 삽입 함 지정을 시도했는데 UIEdgeInsetsMake(29.0f, 0.0f, 29.0f, 0.0f)
과 그립이 이미지 프레임 상단에 오도록했으나 찾고있는 올바른 늘이기 동작이 아닙니다. 그립 부분을 프레임 중앙에 배치하면됩니다.
gripBar = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"grip"] resizableImageWithCapInsets:UIEdgeInsetsMake(1.0f, 0.0f, 1.0f, 0.0f)]];
gripBar.frame = CGRectMake(0, 0, gripWidth, fullHeight);
[view gripBar];
업데이트 : 작업 코드를 선택한 답변에 따라
@implementation GripBar
- (id)init {
self = [super init];
if (self) {
UIImageView *bar = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"gripback"] resizableImageWithCapInsets:UIEdgeInsetsMake(0.0f, 0.0f, 1.0f, 0.0f)]];
bar.autoresizingMask = UIViewAutoresizingFlexibleHeight;
[self addSubview:bar];
UIImageView *grip = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"grip"]];
grip.contentMode = UIViewContentModeCenter;
grip.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin;
[self addSubview:grip];
}
return self;
}
@end