Ios 如何通过拖放重新排列UILabel的字符?
我只是想有一个想法来制作这样的东西。假设有一个UILabel字符串@don't late。但当它显示时,它将显示如下@don'tlate.,现在用户将通过拖放重新排列这些字符,并使其成为正确的单词 现在,任何人都可以给我任何想法或示例,说明我如何在iPhone应用程序开发中做到这一点Ios 如何通过拖放重新排列UILabel的字符?,ios,objective-c,iphone,Ios,Objective C,Iphone,我只是想有一个想法来制作这样的东西。假设有一个UILabel字符串@don't late。但当它显示时,它将显示如下@don'tlate.,现在用户将通过拖放重新排列这些字符,并使其成为正确的单词 现在,任何人都可以给我任何想法或示例,说明我如何在iPhone应用程序开发中做到这一点 提前感谢我已经在上创建了一个示例项目 我想 下面是最相关的代码 // MARK: Actions extension ViewController { @IBAction func moveLabel(
提前感谢我已经在上创建了一个示例项目 我想 下面是最相关的代码
// MARK: Actions
extension ViewController {
@IBAction func moveLabel(gesture:UIPanGestureRecognizer) {
if let labelBeingMoved = labelBeingMoved {
labelBeingMoved.center = gesture.locationInView(labelContainer)
}
}
}
// MARK: UIGestureRecognizerDelegate
extension ViewController : UIGestureRecognizerDelegate {
func gestureRecognizerShouldBegin(gesture: UIGestureRecognizer) -> Bool {
let location = gesture.locationInView(labelContainer)
//You'll have to change this to account for labels on top of one another
for label in labels {
if label.frame.contains(location) {
labelBeingMoved = label
labelContainer.bringSubviewToFront(labelBeingMoved!)
return true
}
}
return false
}
}
我会研究一下UIKit。难道不可能使用UIKit框架吗?是的。它是。我会使每个字符都有自己的UILabel,并将它们放在一个视图中,该视图不会对in内容使用自动布局。然后在容器视图上启用交互,并在容器视图上添加UIPangestureRecognitor。当这个手势被执行时,我会做一个命中测试来确定应该平移哪个UILabel,确保它是最前面的子视图。然后在平移过程中将其中心属性更新为平移手势的位置。它建议使用sprite工具包的原因是,它感觉像是您在创建游戏体验,在SpriteKit中这样做通常更容易。如果您能给我举个例子,这将对我大有帮助。我理解您的观点,但我无法理解移动UILabel中心位置的点。请举一个例子。非常感谢您的帮助。我已经这样做了,但我想要这样的东西假设一个字符串@Wake up。,其中,w和a之间的间距是固定的,但我必须像这样显示,其中a几乎与w重叠,因此用户将从左向右移动它,但用户不应该移动与k重叠的字符a。这有什么意义吗?我很高兴这个起始代码帮助了您。我真的不明白您想要什么,但是如果您想确定两个帧是否重叠,可以从中使用CGRectIntersectsRect函数。