gpt4 book ai didi

objective-c - 拖放而不移除 UIButton

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:36 24 4
gpt4 key购买 nike

我正在 iPhone 应用程序中实现拖放系统。到目前为止,我设法实现了可拖动按钮并且工作正常。这是我的代码:

首先,我将操作分配给按钮:

[button addTarget:self action:@selector(imageMoved:withEvent:) forControlEvents:UIControlEventTouchDragInside];

然后,我创建拖动:

- (IBAction) imageMoved:(id) sender withEvent:(UIEvent *) event
{
NSLog(@"moved");
CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];
UIControl *control = sender;
control.center = point;
}

但是,我想要实现的是被拖动的按钮不会从它所在的位置移除。所以我想到了一个解决方案,就是创建一个类似于第一个的新按钮,然后移动这个新创建的按钮。但是我在实现最后一部分时遇到了麻烦。有什么帮助吗?非常感谢!

最佳答案

- (IBAction) imageMoved:(id) sender withEvent:(UIEvent *) event {
NSLog(@"moved");

CGPoint point = [[[event allTouches] anyObject] locationInView:self.view];

if (![self.view viewWithTag:11]) {

NSData *archivedData = [NSKeyedArchiver archivedDataWithRootObject:(UIButton*)sender];

UIButton *anotherButton =(UIButton*) [NSKeyedUnarchiver unarchiveObjectWithData:archivedData];

anotherButton.tag = 11;


UIImage *senderImage=[(UIButton *)sender imageForState:UIControlStateNormal];




CGImageRef cgImage = [senderImage CGImage];


UIImage *copyOfImage = [[UIImage alloc] initWithCGImage:cgImage];



[anotherButton setImage:copyOfImage forState:UIControlStateNormal];

[self.view addSubview:anotherButton];
}

[self.view viewWithTag:11].center = point;
}

关于objective-c - 拖放而不移除 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7334605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com