gpt4 book ai didi

ios - removeFromSuperView 不适用于按钮

转载 作者:行者123 更新时间:2023-11-28 20:00:11 26 4
gpt4 key购买 nike

另一个让我头疼的问题。我以编程方式创建了一个 UIButton。它的唯一目的是站在另一个已按下半秒钟的按钮之上。底部按钮是图片,顶部按钮是垃圾桶。您可以在这里看到我正在尝试做的事情:我有一张图片,要删除它,您必须将其推送一段时间。

if (CGRectContainsPoint(self.capturedImageOneSmall.frame, tapAndHoldPoint)) {

aboutToDeleteImageTrashCan = [[UIButton alloc] init];
aboutToDeleteImageTrashCan.frame = self.capturedImageOneSmall.frame;
[aboutToDeleteImageTrashCan setBackgroundImage:[UIImage imageNamed:@"LogoTrashcan"] forState:UIControlStateNormal];
[aboutToDeleteImageTrashCan addTarget:self action:@selector(deleteImage:) forControlEvents:UIControlEventTouchUpInside];
aboutToDeleteImageTrashCan.tag = 1;
[self.scrollView addSubview:aboutToDeleteImageTrashCan];

当我调用我的方法来删除两个按钮时,只有图片消失了,垃圾桶保留下来,甚至仍然可以点击。

- (void)deleteImage:(UIButton *)sender
{
if (aboutToDeleteImageTrashCan.tag == 1) {
[self.capturedImageOneSmall removeFromSuperview]; //this works!
self.capturedImageOneSmall = nil;
capturedImageOneData = nil;
}
[aboutToDeleteImageTrashCan performSelectorOnMainThread:@selector(removeFromSuperview) withObject:nil waitUntilDone:NO]; //this doesn't!
aboutToDeleteImageTrashCan = nil;

你们有什么想法吗?

最佳答案

当你把它放在包含“performSelectorOnMainThread”调用的行之前时,你能显示这个语句的输出吗:

NSLog(aboutToDeleteImageTrashCan: %@, aboutToDeleteImageTrashCan);

关于ios - removeFromSuperView 不适用于按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24517776/

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