我试图在其委托方法中更改imageView的变换和帧。由于某种原因,帧y变化设置完美,但不应用高度调整和变换。这是什么原因?这是我的代码(所有值都设置正确,所有属性都是有效和正确的):
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat offset = [scrollView contentOffset].y + [scrollView contentInset].top;
CGFloat positionChange = MAX(offset, 0) * 0.7;
CGFloat heightChange = 0.0;
if (offset < 0.0) heightChange += -offset;
[[self coverImageView] setTransform:CGAffineTransformMakeTranslation(0, positionChange)];
[[self coverImageView] setFrame:CGRectMake([[self coverImageView] frame].origin.x, 64 - positionChange, [[self coverImageView] frame].size.width, 120 + heightChange)];
NSLog(@"%f %f %f",offset, positionChange, heightChange);
}
位置和高度变化变量都是完美的并且相应地改变。确保此方法在主线程上运行也不会改变任何内容。