Ios 关闭UIViewController时闪烁
我有一个Ios 关闭UIViewController时闪烁,ios,objective-c,uiviewcontroller,Ios,Objective C,Uiviewcontroller,我有一个UIViewController我正在使用自定义转换(用于模糊)进行演示。当我按下关闭按钮时,我希望UIViewController淡出。我降低了视图的不透明度,它会很好地淡出。在完成块中,我关闭UIViewController。它被解雇了,但是在解雇结束后很快就会出现闪烁 以下是我正在做的: - (IBAction)closePressed:(id)sender { [CATransaction setCompletionBlock:^{ [self dism
UIViewController
我正在使用自定义转换(用于模糊)进行演示。当我按下关闭按钮时,我希望UIViewController
淡出。我降低了视图的不透明度,它会很好地淡出。在完成块中,我关闭UIViewController
。它被解雇了,但是在解雇结束后很快就会出现闪烁
以下是我正在做的:
- (IBAction)closePressed:(id)sender {
[CATransaction setCompletionBlock:^{
[self dismissViewControllerAnimated:NO completion:nil];
}];
CABasicAnimation *fadeOut = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeOut.fromValue = [NSNumber numberWithFloat:1.0];
fadeOut.toValue = [NSNumber numberWithFloat:0.0];
fadeOut.duration = 0.4f;
[self.view.layer addAnimation:fadeOut forKey:@"fadeOut"];
}
无法粘贴屏幕截图或任何快速发生的内容。在显示父级
UIViewController
之前会出现闪烁。您是否按如下方式进行了尝试
[UIView animateWithDuration:0.4 animations:^
{
self.view.alpha = 0.0;
} completion:^(BOOL finished)
{
[self dismissViewControllerAnimated:NO completion:nil];
}];
您可以使用
self.modalTransitionStyle=UIModalTransitionStyleCrossDissolve代替上述方法代码>您是否按以下方式进行了尝试
[UIView animateWithDuration:0.4 animations:^
{
self.view.alpha = 0.0;
} completion:^(BOOL finished)
{
[self dismissViewControllerAnimated:NO completion:nil];
}];
您可以使用self.modalTransitionStyle=UIModalTransitionStyleCrossDissolve代替上述方法代码>您是否按以下方式进行了尝试
[UIView animateWithDuration:0.4 animations:^
{
self.view.alpha = 0.0;
} completion:^(BOOL finished)
{
[self dismissViewControllerAnimated:NO completion:nil];
}];
您可以使用self.modalTransitionStyle=UIModalTransitionStyleCrossDissolve代替上述方法代码>您是否按以下方式进行了尝试
[UIView animateWithDuration:0.4 animations:^
{
self.view.alpha = 0.0;
} completion:^(BOOL finished)
{
[self dismissViewControllerAnimated:NO completion:nil];
}];
您可以使用self.modalTransitionStyle=UIModalTransitionStyleCrossDissolve代替上述方法代码>尝试将该viewcontroller的不透明设置切换为是/否
默认值为“是”,因此您可能希望尝试“否”尝试将该viewcontroller的不透明设置切换为“是/否”
默认值为“是”,因此您可能希望尝试“否”尝试将该viewcontroller的不透明设置切换为“是/否”
默认值为“是”,因此您可能希望尝试“否”尝试将该viewcontroller的不透明设置切换为“是/否”
默认值为“是”,因此当您通过CAAnimation
设置动画时,您可能希望尝试“否”,因为您实际上是在设置视图的表示层动画,而不是实际视图的动画。因此,当动画结束时,将以动画开始前的视图结束
为了避免这种情况,请在addAnimation:forKey:
fadeOut.removedOnCompletion = NO;
fadeOut.fillMode = kCAFillModeForwards;
当您通过CAAnimation
设置动画时,实际上是在为视图的表示层设置动画,而不是实际视图。因此,当动画结束时,将以动画开始前的视图结束
为了避免这种情况,请在addAnimation:forKey:
fadeOut.removedOnCompletion = NO;
fadeOut.fillMode = kCAFillModeForwards;
当您通过CAAnimation
设置动画时,实际上是在为视图的表示层设置动画,而不是实际视图。因此,当动画结束时,将以动画开始前的视图结束
为了避免这种情况,请在addAnimation:forKey:
fadeOut.removedOnCompletion = NO;
fadeOut.fillMode = kCAFillModeForwards;
当您通过CAAnimation
设置动画时,实际上是在为视图的表示层设置动画,而不是实际视图。因此,当动画结束时,将以动画开始前的视图结束
为了避免这种情况,请在addAnimation:forKey:
fadeOut.removedOnCompletion = NO;
fadeOut.fillMode = kCAFillModeForwards;
来个短片怎么样?这会让你更容易理解闪烁的位置。那么一段短视频呢?这会让你更容易理解闪烁的位置。那么一段短视频呢?这会让你更容易理解闪烁的位置。那么一段短视频呢?会更容易理解闪烁的位置。切换含义?换成什么?我在完成块中或动画中,在初始化viewcontrollerNot帮助时,将其更改为0.0f right(右)。我在按下父VC中的设置按钮时尝试过这样做。还是没什么,换个意思?换成什么?我在完成块中或动画中,在初始化viewcontrollerNot帮助时,将其更改为0.0f right(右)。我在按下父VC中的设置按钮时尝试过这样做。还是没什么,换个意思?换成什么?我在完成块中或动画中,在初始化viewcontrollerNot帮助时,将其更改为0.0f right(右)。我在按下父VC中的设置按钮时尝试过这样做。还是没什么,换个意思?换成什么?我在完成块中或动画中,在初始化viewcontrollerNot帮助时,将其更改为0.0f right(右)。我在按下父VC中的设置按钮时尝试过这样做。还是没什么。