我有一個UIImageView元素作爲我的主UIScrollView元素的子視圖。 我希望圖像始終填滿整個屏幕,但我可以拖動邊緣太遠,以便黃色的「背景」變得可見。 如果我擡起手指,圖像會「反彈」並正確填充屏幕。UIScrollView - 阻止UIImageView作爲UIScrollView的子視圖被拖出屏幕
我想阻止這種拖動圖像的屏幕。 但是我確實希望圖像一旦從「安全區域」拖出就會反彈回來。
這是我的滾動型初始化:
- (id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:CGRectMake(0, 0, frame.size.height, frame.size.width)];
if (self) {
[self initImageValues];
self.showsVerticalScrollIndicator = NO;
self.showsHorizontalScrollIndicator = NO;
self.bouncesZoom = YES;
self.decelerationRate = UIScrollViewDecelerationRateFast;
self.delegate = self;
self.backgroundColor = [UIColor yellowColor];
self.minimumZoomScale = 1.0;
self.maximumZoomScale = 2.0;
[self setCanCancelContentTouches:YES];
self.clipsToBounds = YES;
// Load Image
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:imageName]];
[self addSubview:imageView];
[self setContentSize: CGSizeMake(imageView.frame.size.width, imageView.frame.size.height)];
// Set bigger "bounce" zone (safety area)
self.contentInset=UIEdgeInsetsMake(-SAFETY_ZONE,-SAFETY_ZONE,-SAFETY_ZONE,-SAFETY_ZONE);
self.scrollEnabled = YES;
}
return self;}
這正是我所錯過的。我現在已經包含了一些if檢查圖像是否會離開屏幕,然後設置圖像位置,以便圖像在屏幕上顯示。再加上反彈仍然有效。很好,謝謝! – Mauin
沒問題,祝你的項目好運! –