【问题标题】:how to remove multiple picker from the view.window如何从 view.window 中删除多个选择器
【发布时间】:2013-02-14 06:25:44
【问题描述】:

在我的应用程序中单击按钮,我将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];
}

remove all picker是用于从superview中删除picker的方法 有用 问题是在多次单击 btnMake 时选择器视图的数量会向上倾斜 removeallPicker 方法调用比 pickerview 也不会从 superview 中删除。

【问题讨论】:

  • 从代码看来,您添加了两次 pickerViewMake 并且在不同的视图中,为什么?我无法理解。在 removeAllPicker 方法中,您只需将它们从 SuperView 中删除一次。可能这是你的问题
  • 为什么要在两个单独的视图中添加pickerview?

标签: ios uipickerview


【解决方案1】:

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

【讨论】:

  • 他们没有其他方法可以通过创建 for 循环来删除多个选择器。
  • 这是最简单的方法。
  • 但我有四个选择器用户可以单击选择器重复时间意味着用户将选择年份而不是可以更改它。
  • 所以改变in picker的值或者创建diff-2 picker。
【解决方案2】:

按以下方式试试

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

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

【讨论】:

  • 什么是 ??我没有得到
  • 对你来说 将是“pickerViewMake”或“pickerViewModel”等。这意味着你为一个类创建的实例。
猜你喜欢
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-03
  • 2021-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多