什么应该处理拖拉和在UIView中删除UIViewController?

时间:2012-05-01 17:13:57

标签: ios xcode ios5

我有一个UIView,它充当小部件的容器(UIViewController子类)。我能够将简单的UIButtons添加到UIView容器并使拖放功能正常工作,但是当我尝试从添加到UIView容器的Widget拖放UIButton时,我遇到了问题。当我尝试与按钮交互时,除了默认的触摸行为之外没有任何其他事情发生。

我是否应该在这种情况下使用委托,告诉我的Widget按钮,UIView容器将是处理拖放的容器?

我正在容器的ViewController中添加小部件,其中包含以下内容:

    // Widget is a UIViewController subclass, WidgetTestViewController is a Widget subclass
    Widget *testWidget = [[WidgetTestViewController alloc] initWithNibName:@"WidgetTest" bundle:nil];

    [testWidget.widgetButton addTarget:self action:@selector(widgetDrag:forEvent:) forControlEvents:UIControlEventTouchDragInside];

    [containerView addSubview:testWidget.view];
    testWidget.view.frame = frame;    

我正在通过此函数处理容器的ViewController中的拖动:

- (IBAction)widgetDrag:(id)sender forEvent:(UIEvent *)event {
    CGPoint point = [[[event allTouches] anyObject] locationInView:containerView];
    UIControl *control = sender;
    control.center = point;
}

0 个答案:

没有答案