我有一个下拉按钮,当用户点击它时会出现下拉列表,这是一个隐藏的桌面视图。
- (IBAction)showDropDown:(id)sender {
self.tableView.hidden = NO;
}
现在我想将整个屏幕叠加设置为66%,就像模糊的屏幕一样,只排除按钮和tableView。它们必须清晰可见。当用户选择时......
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
self.tableView.hidden = YES;
}
一切都会再次相同。
答案 0 :(得分:0)
好的,所以看看这里学习如何制作模糊视图
Creating a blurring overlay view
现在是一个模糊的视图,整个屏幕为框架。
而不是addsubView使其出现,请使用
[self.View insertSubview:blurredView belowSubView:yourTable];
希望这有用..:)
答案 1 :(得分:0)
要将叠加视图作为子视图插入,您必须使用UITableViewController而不是UIViewController
您可以在表格下方插入叠加层
view.insertSubview(view: overlayView, belowSubview: tableView)
但这不会覆盖整个屏幕(导航栏和状态栏仍然可见)
要解决此问题,您必须创建一个新窗口
let window = UIWindow(frame: UIScreen.mainScreen().bounds)
window.addSubview(yourTableView)
// This will make window above the status bar
window.windowLevel = UIWindowLevelAlert
// Set to overlay color
window.backgroundColor = UIColor(white: 0, alpha: 0.66)
// Display the window that contains the table view
window.makeKeyAndVisible()