0

私のゲームアプリでは、uibuttonを使用してプログラムでビューを作成しました。ボタンをクリックすると、ビュー全体が削除されます。しかし、「[polygonViewremoveFromSuperview];」でビューを削除しようとしても成功しませんでした。例えば。最初に現在のビューを取得する必要があると思いますが、それを実行する方法と、ボタンメソッドでそれを実装する方法がわかりません。

コードは次のとおりです。

- (void) addNewView {
    UIWindow *window = [UIApplication sharedApplication].keyWindow;

    UIView *polygonView = [[UIView alloc] initWithFrame: CGRectMake ( 60, 0, 900, 900)];
    polygonView.backgroundColor = [UIColor blueColor];

    polygonView.tag = 42;
    // [self playMovie];

    [window addSubview:polygonView];

    // [polygonView setHidden:NO];

    [polygonView release];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    button.frame = CGRectMake(100, 170, 100, 30);

    [button setTitle:@"Click Me!" forState:UIControlStateNormal]; 

    [button addTarget:self action:@selector(buttonPressed) 
     forControlEvents:UIControlEventTouchUpInside];


    [polygonView addSubview:button];

    // NSLog(@"mike=%@ tag=%d",[[polygonView class] description], [polygonView tag]);

}


-(void)buttonPressed {
    NSLog(@"Button Pressed!");
    [polygonView removeFromSuperview];

} 
4

1 に答える 1

2

あなたはあなたの手に入れる必要がありますpolygonView

-(void)buttonPressed {
    UIView *polygonView = [[[[UIApplication sharedApplication] keyWindow] subviews] lastObject];
    [polygonView removeFromSubview];
}
于 2012-10-28T22:10:38.827 に答える