Objective c 从ScrollView中删除标记对象
我在一个滚动视图中有很多图像,都是一样的,一个接一个,每个视图都有一个删除按钮作为子视图。我用这种方式分配一个标记Objective c 从ScrollView中删除标记对象,objective-c,ios,xcode,Objective C,Ios,Xcode,我在一个滚动视图中有很多图像,都是一样的,一个接一个,每个视图都有一个删除按钮作为子视图。我用这种方式分配一个标记 1) img.tag = i; 2) int z; z = i+1; buttonDelete.tag = z; 我是一个for循环。当我按下按钮时,执行此代码: -(IBAction)deleteMessage:(id)sender { UIButton *button = (UIButton*) sender; NSLog(@"C
1) img.tag = i;
2) int z;
z = i+1;
buttonDelete.tag = z;
我是一个for循环。当我按下按钮时,执行此代码:
-(IBAction)deleteMessage:(id)sender
{
UIButton *button = (UIButton*) sender;
NSLog(@"Clicked button %d", button.tag);
UIImageView *image = (UIImageView*) sender;
NSLog(@"Clicked button %d", image.tag);
int n;
n = button.tag;
for (UIImageView *img in imageArray)
{
if (img.tag == n)
{
[img removeFromSuperview];
NSLog(@"The value of integer num is %i", img.tag);
NSLog(@"The value of integer num is %i", n);
}
}
}
根据NSLog,前四个按钮与它们的标签和图像标签完全对应。相应的图像将被删除。这四个图像都适合滚动视图的第一个视图。如果有更多的图片,我需要向下滚动,标签不会再增加。相反,它们从标记1重新启动。所以1,2,3,4,1,2,3,4。。。在滚动视图的同一“页面”中可以看到1、2、3、4。这怎么可能
编辑:
我也试过:
-(IBAction)deleteMessage:(id)sender
{
UIButton *button = (UIButton*) sender;
NSLog(@"Clicked button %d", button.tag);
UIImageView *image = (UIImageView*) sender;
NSLog(@"Clicked button %d", image.tag);
int n;
n = button.tag;
for (UIImageView *img in imageArray)
{
if ([img isKindOfClass:[UIImageView class]] && img.tag == n) {
[img removeFromSuperview];
}
}
}
但是给出了相同的结果superview是UIScrollView还是使用UITableView?这很奇怪。您能否在问题中添加创建图像的完整代码以及如何将其添加到scrollview?为什么要将
发送者
转换为ui按钮
,然后再转换为ui图像视图
?这似乎是错误的。另外,从您编写的内容来看,不清楚“z”是否在一开始就已初始化。