小编eod*_*ash的帖子

20
推荐指数
2
解决办法
2万
查看次数

如何检测UINavigationController动画何时完成?

我希望这是一个简单的问题.如果我有一个UINavigationController并且我将一个新的视图控制器推入到具有动画过渡的堆栈中,我如何检测动画何时完成并且新的视图控制器在屏幕上?

我有几个场景,我需要推送一个新的控制器,然后必须进行长时间运行.我想首先推送新视图,所以在我开始长时间阻止主线程之前屏幕上有一些东西.如果我在我的长期运行任务之后立即执行推送,则视图将不会显示,直到两者完成后,主线程才能再次处理事件.

因此,一旦动画完成并且视图在屏幕上,我想要做的就是能够在新控制器中检测到,然后启动任务.

iphone objective-c uikit ios

10
推荐指数
1
解决办法
1万
查看次数

在方向改变后检测UIView的旋转宽度/高度

我希望能够检查可能已经或可能没有从其原始方向旋转的UIView实例(例如,通过用户旋转设备)并确定"真实"宽度和高度是什么."真"在这里的意思,如果在纵长的iPad的看法是768x1024的转动之前,导横盘之后我会计算新的宽度为1024,新高度为768.

看来,如果我将视图的变换应用于它的frame属性,如下所示:

CGRect rotated = CGRectApplyAffineTransform([myview frame], [myview transform);
Run Code Online (Sandbox Code Playgroud)

我得到了理想的结果.然而,Apple的文档声明如果视图的变换不是身份变换,UIView :: frame是未定义的,那么依靠这个计算可能不是一个好主意?

uikit uiview ios

1
推荐指数
1
解决办法
3058
查看次数

标签 统计

ios ×2

uikit ×2

android ×1

iphone ×1

mobile ×1

objective-c ×1

opengl-es ×1

uiview ×1