在开发iphone插件的时候发现一个奇怪的问题,如果UIAlertView在hook springboard显示的时候,
会根据现在打开的app的方向来显示方向和缩放,而不是根据springboard的方向(大概是因为springboard
的方向是不会变的)。因此,要在打开一个app的时候,在springboard中显示一个UIAlertView,就需要考
虑横屏问题(尤其是在这个UIAlertView还自己添加了界面元素的情况下),这真是个令人烦恼的问题。
分析了一下,得出两个解决办法:
1、在显示前关闭已经打开的app,回到springboard。
2、得到当前状态下的设备方向,再自己调整。
第一个实现起来,估计跟做一个sbsetting的freeup差不多。第二个实现起来,似乎也不好办,UIDevice得到
的一直是unknow,而通过UIApplication得到的又是springboard的那个永恒不变的1。好像都陷入死胡同了。
唉,搜索资料继续研究。
研究了一下第一种实现调用
[(SpringBoard *)[UIApplication sharedApplication] _killThermallyActiveApplication];
关闭当前的app.似乎有个执行时间问题。