这是它发生的视频:
基本上,如果我在平移时更改 UIImageView(X)的图像属性,它会将视图中的所有控件返回到其原始的未平移位置。(它们都嵌入在 UIView 中,因此我可以“平移单元格”,而 UIImageViews 在视图之外并且是独立的。)
如果我不更改图像:
作为记录,当用户平移一定数量时,我会更改图像,我相信 80 点。
这是代码:
// Only allow the cell to be moved 100 pixels left or right
if (xPos <= 100 && xPos >= -100) {
// Move our cell to the xPos we defined
CGRect slidingViewFrame = self.slidingView.frame;
slidingViewFrame.origin = CGPointMake(xPos - 100, 0);
self.slidingView.frame = slidingViewFrame;
if (xPos >= 80) {
if (_removeIconIsActive == NO) {
// Change remove icon to a red, active state and animate the change
self.removeIconImageView.image = [UIImage imageNamed:@"remove-icon-active.png"];
_removeIconIsActive = YES;
}
CGRect removeIconFrame = self.removeIconImageView.frame;
removeIconFrame.origin = CGPointMake(40, 35);
self.removeIconImageView.frame = removeIconFrame;
}
}
视图是在故事板中设置的,但移动和操作都是在代码中完成的。
这是故事板布局:
这是处理单元格平移的完整方法:https ://gist.github.com/anonymous/c51c7cb2997c89094f08