zoukankan      html  css  js  c++  java
  • iOS :UIPickerView reloadAllComponets not work

    编辑信息页面用了很多选择栏,大部分都用 UIPickerView 来实现。在切换数据显示的时候, UIPickerView 不更新数据,不得其解。Google 无解,原因在于无法描述自己的问题,想想应该还是代码哪里写错了。

    写了个测试方法,预期效果出现,于是与远方法兑换了一下,才发现问题所在:

        [self addChildViewController:self.pickerController];
        CGRect rect = CGRectOffset(self.view.bounds, 0, self.view.bounds.size.height);
        self.pickerController.view.frame = rect;
        [self.view addSubview:self.pickerController.view];
        [self.pickerController reloadData:[self.houseAttributes objectForKey:_key] selectedValue:@"高层"];
    
        [UIView animateWithDuration:0.25 animations:^{
            self.pickerController.view.frame = self.view.bounds;
        } completion:^(BOOL finished) {
        }];

    如代码所示,每次显示 UIPickerView 时,会把它 add 到主视图上,而 reloadAllComponents Not Work 的原因是因为把更换数据的方法写在了 addSubview 之前。

    #总结

    如果 UIPickerView 不存在 superView,那么调用 reloadAllComponents 会不起作用。

  • 相关阅读:
    雅虎35条优化黄金守则
    安装入门
    NPOI 2.0 Excel读取显示
    STL算法
    MVVM框架avalon在兼容旧式IE
    Asp.Net MVC3.0网站统计登录认证的在线人数
    Windows Server 服务器安全配置
    SignalR的服务器广播
    angularjs + seajs构建Web Form3
    MVC应用程序显示上传的图片
  • 原文地址:https://www.cnblogs.com/ihojin/p/ios-uipickerview-reloadallcomponents.html
Copyright © 2011-2022 走看看