【问题标题】:The best place to change tableview frame at loading在加载时更改 tableview 框架的最佳位置
【发布时间】:2012-09-28 15:17:19
【问题描述】:

我正在使用自定义阴影图像,我需要将表格视图移动 11 个点。

这是我的做法:

self.frontTableView.frame = CGRectMake(self.frontTableView.frame.origin.x, 
self.frontTableView.frame.origin.y+11,
self.frontTableView.frame.size.width, 
self.frontTableView.frame.size.height);

我在 numberOfSections 方法中使用它,这可能不是最好的地方 - 因为当视图消失并再次出现时,我的 tableView 保持原样。

那么改变tableview框架的最佳位置在哪里?

【问题讨论】:

    标签: iphone ios xcode cocoa-touch


    【解决方案1】:

    我会在 nib 本身或viewDidLoad 中执行此操作 - 而不是在任何委托方法中,您不会知道何时或多少次会被调用。

    【讨论】:

    • 由于某种奇怪的原因,它没有在 ViewDidLoad 中完成 - 可能表视图还没有加载?
    • @Devfly 这很不寻常,你如何实例化你的表格视图?
    【解决方案2】:

    使用这个方法:

    -(void)viewDidLoad
    {
       [super viewDidLoad];
       self.frontTableView = [UITableView new];
       self.frontTableView.frame = CGRectMake(self.frontTableView.frame.origin.x, 
       self.frontTableView.frame.origin.y+11,
       self.frontTableView.frame.size.width, 
       self.frontTableView.frame.size.height);
          //other custom methods . . . 
    }
    

    如果您在执行过程中对tableview进行了一些更改,请不要忘记调用该方法 [自行重新加载frontTableView];

    【讨论】:

    • 当视图第一次出现并且表格和视图属性没有加载时会发生什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 2011-04-30
    • 1970-01-01
    • 2011-04-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多