0

在我的按钮单击应用程序中,我将pickerview添加到下面的窗口中是代码显示

- (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];
}

删除所有选择器是用于从超级视图中删除选择器的方法,它可以工作问题是,在多次单击 btnMake 时,选择器视图的锥体数向上然后 removeallPicker 方法调用,而不是选择器视图不会从超级视图中删除。

4

2 回答 2

0

试试下面的方法

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

在此创建您的选择器之后,它不会创建多次,它只会创建一次。

于 2013-02-14T06:48:32.140 回答
0

做一件事,创建一个BOOL变量并在viewdidload中设置为 yes 并检查函数,如果是,则选择器来并在btnmake方法中将其设为 no。

于 2013-02-14T06:29:34.643 回答