0

私のアプリのボタンクリックで、ピッカービューをウィンドウに追加しました。以下のコードを示しています

- (IBAction)btnMake:(id)sender
{
     pickerViewMake = [[UIPickerView alloc] initWithFrame:pickerFrame];
        pickerViewMake.showsSelectionIndicator = YES;
        pickerViewMake.dataSource = self;
        pickerViewMake.delegate = self;
        [pickerViewMake setBackgroundColor:[UIColor clearColor]];

        [viewPicker addSubview:pickerViewMake];


        [self.view.window addSubview:pickerViewMake];
    }

-(void)removeAllPicker
{   
    [pickerViewMake removeFromSuperview];
    [pickerViewModel removeFromSuperview];
    [pickerViewYear removeFromSuperview];
    [pickerViewTrim removeFromSuperview];
}

remove all picker は、スーパービューからピッカーを削除するために使用されるメソッドです。問題は、複数回クリックすると、ピッカー ビューの btnMake 番号が円錐状になり、removeallPicker メソッド呼び出しよりも pickerview がスーパービューから削除されないことです。

4

2 に答える 2

0

次の方法で試してください

if (<instance>) 
    {
        [<instance> removeFromSuperview],<instance> = nil;
    }

これがピッカーを作成した後、複数回作成されるのではなく、1 回だけ作成されます。

于 2013-02-14T06:48:32.140 に答える
0

1 つのことを行い、1 つのBOOL変数を作成し、 viewdidload yes に設定し、yes の場合は関数をチェックインし、ピッカーが来て、btnmakeメソッドで no にします。

于 2013-02-14T06:29:34.643 に答える