Iphone iOS应用程序类似于iOS跳板行为
我需要创建一个类似于iOS spring board的应用程序。 我需要显示不同的配置文件图片,行和列排列类似于下图。请记住,我将显示图片,而不是应用程序 我已经创建了一个UIScrollView,它可以像弹簧板一样显示图像。 首先,我需要使它们可点击(因此可能是按钮或带有交互的图像) 我的主要问题是,我需要实现一种行为,在这种行为中,我可以按住/触摸图像/图标一段时间,然后将其移动到另一个位置,并将其与我拖动的图像交换。(就像在弹簧板上排列图标一样) 我需要实现这个,任何建议,我的意思是苹果有本地类吗? 或者我需要为此编写所有代码。我已经尝试过搜索,但我遇到了困难。iOS SpingBoardIphone iOS应用程序类似于iOS跳板行为,iphone,objective-c,ios,ipad,Iphone,Objective C,Ios,Ipad,我需要创建一个类似于iOS spring board的应用程序。 我需要显示不同的配置文件图片,行和列排列类似于下图。请记住,我将显示图片,而不是应用程序 我已经创建了一个UIScrollView,它可以像弹簧板一样显示图像。 首先,我需要使它们可点击(因此可能是按钮或带有交互的图像) 我的主要问题是,我需要实现一种行为,在这种行为中,我可以按住/触摸图像/图标一段时间,然后将其移动到另一个位置,并将其与我拖动的图像交换。(就像在弹簧板上排列图标一样) 我需要实现这个,任何建议,我的意思是苹
苹果会拒绝你的应用程序,如果它看起来太像spring board,即摇摆的动画,那么你可能需要在尝试进行更多开发之前练习搜索技能。花了几秒钟找到。你给我的wiggle动画链接是很棒的@NickBull,但它只为wiggle设置动画,而不用于交换和拖动图像。不管怎样,它会在我的问题的某些部分帮助我,我应该只编码交换。谢谢你的信息,我真的很感激。
func startWiggling() {
deleteButton.isHidden = false
guard contentView.layer.animation(forKey: "wiggle") == nil else { return }
guard contentView.layer.animation(forKey: "bounce") == nil else { return }
let angle = 0.04
let wiggle = CAKeyframeAnimation(keyPath: "transform.rotation.z")
wiggle.values = [-angle, angle]
wiggle.autoreverses = true
wiggle.duration = randomInterval(0.1, variance: 0.025)
wiggle.repeatCount = Float.infinity
contentView.layer.add(wiggle, forKey: "wiggle")
let bounce = CAKeyframeAnimation(keyPath: "transform.translation.y")
bounce.values = [4.0, 0.0]
bounce.autoreverses = true
bounce.duration = randomInterval(0.12, variance: 0.025)
bounce.repeatCount = Float.infinity
contentView.layer.add(bounce, forKey: "bounce")
}
func stopWiggling() {
deleteButton.isHidden = true
contentView.layer.removeAllAnimations()
}