0

私はscrollViewにたくさんの画像を持っていますが、すべて同じで、次々に、そしてそれぞれのサブビューとして削除ボタンがあります。このようにタグを割り当てます

1) img.tag = i; 

2) int z;
        z = i+1;
     buttonDelete.tag = z;

i は 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 によると、最初の 4 つのボタンは、そのタグと画像タグに正確に対応しています。対応する画像が削除されます。これらの 4 つの画像はすべて、スクロール ビューの最初のビューに収まります。ただし、さらに画像があり、下にスクロールする必要がある場合、タグはそれ以上増加しません。代わりに、タグ 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];
        }
    }
}

しかし、同じ結果が得られます

4

0 に答える 0