我有一个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];
}
有没有办法获得电视的可见矩形并在那里插入我的灰色视图?
答案 0 :(得分:2)
如果希望greyView覆盖整个UITableView,则应将greyView的框架设置为
[greyView setFrame:tableView.bounds]
。
如果您希望它仅覆盖显示的tableView区域,您应该使用CGRectIntersection(self.frame, superview.bounds);
并将其设置为框架。