有没有办法在UITableView使用setContentOffset 滚动时改变动画的速度:动画:?我想将它滚动到顶部,但慢慢地.当我尝试以下操作时,它会导致底部的几个单元格在动画开始之前消失(特别是滚动完成时不可见的那些):
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:3.0];
[self.tableView setContentOffset:CGPointMake(0, 0)];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
还有其他方法解决这个问题吗?有一种私有方法_setContentOffsetAnimationDuration可以使用,但我不想被应用商店拒绝.
我想知道是否有办法使用Core Animation来做到这一点.具体来说,我将一个子层添加到图层支持的自定义NSView并将其委托设置为另一个自定义NSView.该类的drawInRect方法绘制单个CGPath:
- (void)drawInRect:(CGRect)rect inContext:(CGContextRef)context
{
CGContextSaveGState(context);
CGContextSetLineWidth(context, 12);
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 0, 0);
CGPathAddLineToPoint(path, NULL, rect.size.width, rect.size.height);
CGContextBeginPath(context);
CGContextAddPath(context, path);
CGContextStrokePath(context);
CGContextRestoreGState(context);
}
Run Code Online (Sandbox Code Playgroud)
我想要的效果是为这条线的绘制设置动画.也就是说,我希望这条线能够以动画的方式实际"伸展".似乎有一种简单的方法可以使用Core Animation来做到这一点,但我还是没能遇到任何问题.
您对我如何实现这一目标有任何建议吗?
我@property(nonatomic, retain)用于我的IBOutlets用于iPhone应用程序.但是,我不确定如何确保我正确地管理他们的记忆.IBOutlets都在Interface Builder中设置,所以我从不alloc手动调用.这意味着我不确定何时以及是否要取消分配它们或何时将它们设置为指向nil.
一旦视图卸载,确保没有内存泄漏的最佳实践是什么?