-(voID)vIEwWillTransitionToSize:(CGSize)size withTransitionCoordinator:(ID<UIVIEwControllerTransitionCoordinator>)coordinator{ [super vIEwWillTransitionToSize:size withTransitionCoordinator:coordinator]; _rotating = YES; [coordinator notifyWhenInteractionEndsUsingBlock:^(ID<UIVIEwControllerTransitionCoordinatorContext> context) { _rotating = NO; }];}
看起来很直接,应该根据我对文档的解释工作,但显然没有.似乎_rotating被设置为YES并且永远不会被设置回NO.因此,似乎永远不会调用我的完成块.
解决方法 我有同样的问题.我潜入了文档.您在notifyWhenInteractionEndsUsingBlock中指定的块在以下情况下被调用:When a Transition changes from interactive to non-interactive then
handler is invoked.
但是,轮换不是交互式过渡.一旦启动,您就无法与之互动.这就是永远不会调用处理程序的原因.
我最终使用animatealongsIDeTransition:completion:方法.它就像一个魅力.
- (voID)vIEwWillTransitionToSize:(CGSize)size withTransitionCoordinator:(ID <UIVIEwControllerTransitionCoordinator>)coordinator{ _rotating = YES; [super vIEwWillTransitionToSize:size withTransitionCoordinator:coordinator]; [coordinator animatealongsIDeTransition:nil completion:^(ID<UIVIEwControllerTransitionCoordinatorContext> context) { _rotating = NO; }];}总结
以上是内存溢出为你收集整理的ios – viewWillTransitionToSize协调器忽略块全部内容,希望文章能够帮你解决ios – viewWillTransitionToSize协调器忽略块所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)