0

タッチが終了するたびに、必要な数のUIViewのループを使用して別のUIViewが表示されるプログラムを実行しようとしています。タッチエンドでUIViewのループを設定するにはどうすればよいですか?または、viewDidLoadで作成して、タッチエンドで呼び出す必要がありますか?

-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event//upon leaving
    {
        UITouch *touch = [touches anyObject];

        for (int i=0; i < 100; i++) {
            UIImageView *layerView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
            [layerView setAlpha:.05];
            [self.view addSubview:layerView];
        }
    }

あなたが私たちを助けることができることを願っています。

4

1 に答える 1

2

タップするたびに1つのビューを追加する場合は、forループは必要ありません。ただやる

-(void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event//upon leaving
{
    UITouch *touch = [touches anyObject];

    UIImageView *layerView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 1024, 768)];
    [layerView setAlpha:.05];

    // If you just want to add a line, add another uiview would the easiest way. For example:
    UIView *line = [UIView alloc] initWithFrame:CGRectMake(0, layerView.center.y, layerView.frame.size.width, 1)];
    line.backgroundColor = [UIColor blackColor];
    [layerView addSubview:line];

    [self.view addSubview:layerView];
}

もちろん、UIViewをサブクラス化して、必要なものを描画することもできます。

- (void)drawRect:(CGRect)rect
于 2012-07-20T02:40:02.880 に答える