【问题标题】:How to add an object in an UITableView by drag and drop it in?如何通过拖放在 UITableView 中添加对象?
【发布时间】:2016-04-11 15:53:12
【问题描述】:

所以在我的主视图上我有一个 UITableView。 在这个视图中,通过一个按钮,我可以添加一个我称之为的对象:SelectPostIt(来自我的 nib SelectPostIt.xib)。 p>

这些 Post It 是可拖动的,而且我还能够知道我放下 PostIt 的点的坐标(我认为它可能很有用)(对不起我的学校英语)。

我想要做的是,当我将 PostIt 放在 UITableView 的一行上时,它会将其添加到该行中,然后当我们滚动 UITableView 时它会随行一起移动。

这是我在视图中添加 PostIt 的方法:

- (IBAction)addNewPostIt:(id)sender {    

SelectPostIt *selectpostit = [[[NSBundle mainBundle] loadNibNamed:@"SelectPostIt" owner:self options:nil] firstObject];
selectpostit.frame = CGRectMake(x, y, 100, 100);

[self.view addSubview:selectpostit];

selectpostit.edited = false;
selectpostit.commentaireSP.editable = NO;
selectpostit.commentaireSP.scrollEnabled = YES;
selectpostit.layer.borderWidth = 1.0f;    
selectpostit.commentaireSP.userInteractionEnabled = NO;

x+=1;
y+=1;}

这里是我如何获得下降的坐标:

-(IBAction)handlePan:(UIPanGestureRecognizer *)recognizer{
CGPoint translation = [recognizer translationInView:self];
recognizer.view.center = CGPointMake(recognizer.view.center.x + translation.x, recognizer.view.center.y + translation.y);

//That's here
if(recognizer.state == UIGestureRecognizerStateEnded){        
    CGPoint centerPointOfView = [recognizer locationInView:self.superview];
    NSLog(@"X - %f, Y - %f",centerPointOfView.x,centerPointOfView.y);
}    

[recognizer setTranslation:CGPointMake(0, 0) inView:self];}

我不知道如何处理,欢迎任何帮助!

【问题讨论】:

    标签: ios objective-c uitableview drag-and-drop


    【解决方案1】:

    如果我理解正确,您希望在用户“拖放”单元格上的“PostIt”视图时更改其中一个 tableView 单元格的视觉状态。

    我建议使用某种表示每个单元格内容的模型类来解决这个问题。例如,您可以有一个showsPostIt 属性,当用户将 PostIt 放在一个单元格上时,您将该单元格的该属性的值设置为YES。然后,您只需拨打-reloadData 或类似电话,即可直观地更新您的视图。

    如果您不那样做,而只是 -addSubview 一个 PostIt 视图,那么当 tableView 回收其单元格时,您将遇到问题(PostIt 视图可能会消失或出现在错误的单元格中)。

    【讨论】:

      【解决方案2】:

      我认为您仍然有同样的问题,您应该尝试创建一些对象类来表示您需要表示的所有内容。 从这里,您将能够获取对象的数据并使用构造函数之类的东西直接在视图中创建一个新对象。 但是您现在必须更新您在代码中直观地执行的所有操作。

      【讨论】:

        猜你喜欢
        • 2021-05-27
        • 2013-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多