- (void)didClickFliterBtn:(id)sender{
NSLog(@"点击了==========筛选");
UIView * sourceView = (UIView *)sender;
UITableViewController *menuVC = [[UITableViewController alloc] init];
__weak typeof(self)weakSelf = self;
menuVC.tableView.delegate = weakSelf ;
menuVC.tableView.dataSource = weakSelf ;
menuVC.tableView.separatorStyle = UITableViewCellSeparatorStyleNone ;
menuVC.tableView.rowHeight = 50 ;
menuVC.tableView.backgroundColor = [UIColorFromRGB(0xf9f9f9) colorWithAlphaComponent:0.1];
// menuVC.view.backgroundColor= [UIColorFromRGB(0xf9f9f9) colorWithAlphaComponent:0.7];
[menuVC.tableView registerClass:[DWHmenuCell class] forCellReuseIdentifier:@"menu"];
// 设置大小
menuVC.preferredContentSize = CGSizeMake(120, 50 * 3);
// 设置 Sytle
menuVC.modalPresentationStyle = UIModalPresentationPopover;//UIModalPresentationPopover;
// 需要通过 sourceView 来判断位置的
menuVC.popoverPresentationController.sourceView = sourceView;
// 指定箭头所指区域的矩形框范围(位置和尺寸),以sourceView的左上角为坐标原点
// 这个可以 通过 Point 或 Size 调试位置
menuVC.popoverPresentationController.sourceRect = sourceView.bounds;
menuVC.popoverPresentationController.backgroundColor = [UIColorFromRGB(0xf9f9f9) colorWithAlphaComponent:0.1];
[UIColorFromRGB(0xf9f9f9) colorWithAlphaComponent:0.7];
menuVC.popoverPresentationController.containerView.layer.shadowColor = [UIColorFromRGB(0xe9e1d2) CGColor];//阴影颜色
menuVC.popoverPresentationController.containerView.layer.shadowOffset = CGSizeMake(0, 3);//width表示阴影与x的便宜量,height表示阴影与y值的偏移量
menuVC.popoverPresentationController.containerView.layer.shadowOpacity = 0.08;//
// 箭头方向
menuVC.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
// 设置代理
menuVC.popoverPresentationController.delegate = self;
//弹出筛选菜单
[self presentViewController:menuVC animated:YES completion:nil];
}
//popover控制器是否点击后消失
-(BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController{
return YES;
}
//实现代理方法
-(UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController*)controller{
//返回UIModalPresentationNone为不匹配
return UIModalPresentationNone;
}
//已经消失的时候调用
-(void)popoverPresentationControllerDidDismissPopover:(UIPopoverPresentationController* )popoverPresentationController{
self.topView.filterBtn.selected = NO;
}
popoverPresentationController使用简单记录
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 成长记录-连载(三十六) ——我的第一篇五千字长文,说了什么,你一定想不到 并不是不想每天写公众号,而是之前思考怎...
- 简单记录: RenderScript主要在android中的对图形进行处理,RenderScript采用C99语法...
- 项目刚好用到,暂时只能简单地使用,一般情况下,TabLayout都是会和ViewPager、Fragment一起使...