获取tableview的可见rect

时间:2015-08-31 11:09:51

标签: ios xcode uitableview ios8

我有一个tableview,我想添加一个带有另一个视图的灰色视图作为子视图,以模仿弹出窗口。问题是灰色视图不能覆盖整个电视,如果显示电视的底部,我的按钮的子视图并不全部可见。

这是我的代码:

- (IBAction)orderButtonAction:(id)sender {

  _grayView = [[UIView alloc]init];
  _grayView.frame = [[UIScreen mainScreen]bounds];
  _grayView.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.7];
  _grayView.hidden = NO;
  _profileOrderView.hidden = NO;
  _tableView.scrollEnabled = NO;

  _orderButtonOutlet.hidden = YES;
   _profileOrderView.center = self.view.center;
  [_grayView addSubview:_profileOrderView];
  [_tableView addSubview:_grayView];

}

有没有办法获得电视的可见矩形并在那里插入我的灰色视图?

1 个答案:

答案 0 :(得分:2)

如果希望greyView覆盖整个UITableView,则应将greyView的框架设置为 [greyView setFrame:tableView.bounds]

如果您希望它仅覆盖显示的tableView区域,您应该使用CGRectIntersection(self.frame, superview.bounds);并将其设置为框架。