1

UILabel をドラッグ アンド ドロップする際に問題に直面しています。

ラベルをドラッグ (Move This) し、ボタンのタイトルがラベル テキストとして変更される UIToolBar アイテム (つまり、1 または 2 または 3 ...) のいずれかにドロップする方法。

この質問の画像を確認してください

4

2 に答える 2

1

カスタム ボタンをラベルとして使用し、このコードを次のように使用します。

     UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
        [button addTarget:self action:@selector(btnTouch:withEvent:) forControlEvents:UIControlEventTouchDown];
    button.tag = -1;
button.titleLabel.text = @"Move this";
        [button addTarget:self action:@selector(btnTouch:withEvent:) forControlEvents:UIControlEventTouchDragInside];
        [self.view addSubview:button];

次に、UIControlEventTouchDragInside イベントに応答することで、必要な場所にボタンを移動できます。次に例を示します。

- (IBAction) btnTouch:(id) sender withEvent:(UIEvent *) event
{
    CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];
    UIControl *control = sender;
    control.center = point;

    //Here use this to check when intersects and check if the frame of the item you are moving intersects with the frame from on of your subviews
    for (UIView *anotherBtn in self.view.subviews) {

        if (CGRectIntersectsRect(control.frame, anotherBtn.frame)) {
            // Do something
            [anotherBtn setTitle:control.titleLabel.text];
        }
    }
}

お役に立てば幸いです。

于 2013-05-28T13:22:36.767 に答える
0

UIBarButtonItem には独自のタイトルがあり、ラベルをドラッグすることはできません

于 2013-05-28T13:16:59.240 に答える