CocosPopup 是一个易于使用的过渡动画,使窗口从呈现控制器的中心弹出。它是可定制的,并附带自己的segue,以便更容易与storyboards一起使用。
第二步是在源控制器中导入CCMPopupSegue:#import <CCMPopup/CCMPopupSegue.h>
然后您必须实现源控制器的prepareForSegue:sender:
方法,并将segue转换为CCMPopupSegue
以调用destinationBounds
属性,从而能够设置目标控制器的尺寸(x和y原点被忽略)
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue isKindOfClass:[CCMPopupSegue class]]){
CCMPopupSegue *popupSegue = (CCMPopupSegue *)segue;
popupSegue.destinationBounds = CGRectMake(0, 0, 50, 50);
}
}
使用代码使用CCMPopup的第一步是导入CCMPopupTransitioning:#import <CCMPopup/CCMPopupTransitioning.h>
然后在您的代码中获得CCMPopupTransitioning的共享实例,并分配destinationBounds、presentingController和presentedController
CCMPopupTransitioning *popup = [CCMPopupTransitioning sharedInstance];
popup.destinationBounds = CGRectMake(0, 0, 300, 400);
popup.presentedController = presentingController;
popup.presentingController = self;
[self presentViewController:presentingController animated:YES completion:nil];
要移除,请调用呈现控制器上的dismissViewControllerAnimated:completion:
您也可以使用unwind segue方法
CocosPopup有五个属性用于自定义呈现
destinationBound: 该属性允许您定义目标控制器的尺寸。
backgroundBlurRadius: 背景的模糊半径。默认为5。
backgroundViewColor: 背景添加一个用于自定义着色色的视图,此属性应与backgroundViewAlpha结合使用以使背景显示。如果backgroundViewAlpha为0,则忽略此属性。默认为nil。
backgroundViewAlpha: 应应用于背景着色视图的alpha属性。默认为0.5
dismissableByTouchingBackground: 如果设置为YES,则在触摸背景时使呈现的视图控制器能够被移除。默认为NO。
所有这些属性都应分配给segue或popupTransitioning,具体取决于实现方法
iOS 7.0或更高版本
下载或克隆仓库,然后将文件夹CCMPopup添加到您的项目中
卡洛斯·孔佩安,[email protected]
CCMPopup可使用Apache 2.0许可协议获得。有关更多信息,请参阅LICENSE文件。