效果图如下:
首先,要记住更改Modal的方式和动画效果:
modalVC.modalPresentationStyle = UIModalPresentationOverFullScreen;
modalVC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
其次,在即将Modal出来的控制器中添加毛玻璃,iOS8之后,苹果退出了毛玻璃效果,可根据自己需要选择样式,颜色:
//毛玻璃
UIBlurEffect *blurEffect=[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];
UIVisualEffectView *visualEffectView=[[UIVisualEffectView alloc]initWithEffect:blurEffect];
[visualEffectView setFrame:self.view.bounds];
[self.view addSubview:visualEffectView];
最后,使用如下两个协议,一个使用来回收Modal出来的控制器,另一个是用来返回当前所点击的item,item的tag值就是他的索引
//回收的协议
- (void)dismissMyModalController:(ModalController *)modalVc;
//点击的协议
- (void)modalController:(ModalController *)modalVc selectedItem:(ModalItem *)item;
Demo放在了Github上:https://github.com/justForL/WeiBoDemo
如果对您有所帮助,希望您能给个星星:p