Ios Ui-LongPress复制细胞
我的tableview单元格的UI遇到奇怪的交互缺陷。我做了一个长按手势:Ios Ui-LongPress复制细胞,ios,swift,uitableview,Ios,Swift,Uitableview,我的tableview单元格的UI遇到奇怪的交互缺陷。我做了一个长按手势: func handleLongPress(sender:UILongPressGestureRecognizer!) { var myCharacters: SelectedCharacter? let localLongPress = sender as UILongPressGestureRecognizer let locationInView = localLongPress.locat
func handleLongPress(sender:UILongPressGestureRecognizer!) {
var myCharacters: SelectedCharacter?
let localLongPress = sender as UILongPressGestureRecognizer
let locationInView = localLongPress.locationInView(cardsListed)
let indexPath = charactersListed.indexPathForRowAtPoint(locationInView)
let listed = frc.objectAtIndexPath(indexPath!) as! Characters
let cell: firstCharacterDetails = charactersListed.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath!) as! firstCharacterDetails
if listed == 0 {
} else {
if (sender.state == UIGestureRecognizerState.Ended) {
print("Long press Ended")
} else if (sender.state == UIGestureRecognizerState.Began) {
let bounds: CGRect = UIScreen.mainScreen().bounds
let screenHeight: NSNumber = bounds.size.height
if screenHeight == 480 {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let characterDetailsController: CharacterDetailsViewController = storyboard.instantiateViewControllerWithIdentifier("characterDetails") as! CharacterDetailsViewController
characterDetailsController.modalPresentationStyle = UIModalPresentationStyle.Popover
let popoverplayersCharacterController = characterDetailsController.popoverPresentationController
popoverCharacterNoteController?.permittedArrowDirections = .Any
popoverCharacterNoteController?.delegate = self
popoverCharacterNoteController?.sourceView = cell.cardDescription
characterDetailsController.characterDetails = listed
self.presentViewController(characterDetailsController, animated: true, completion: nil)
}
这是一个示例,如果编码不完整,很抱歉,因为我刚刚取出了这部分代码作为参考。现在,我的问题是一个非常独特的问题,只可能发生在用户的意外手势,但为了用户的安全,我想消除这个问题
我所面临的问题是,当用户长按手势时,如果他们在按住单元格的同时意外地用手指拖动到另一个单元格,则实际上将复制自身或将自身拖动到用户长按手势拖动到的单元格下方。我不知道如何处理,以防止这种情况发生,但如果任何人有任何洞察它将不胜感激 发现我做错了什么。在第二次查看代码之后,我意识到调用DequeueResableCell是不正确的函数。我将代码行切换为:
let cell: firstCharacterDetails = charactersListed.cellForRowAtIndexPath(indexPath!) as! firstCharacterDetails
问题解决了。当我复制和粘贴一些我在几个不同的控制器中重用的代码时,我没有考虑太多