我在iPad 5.0下使用UISwitch控件,一切正常。但是,如果我在iPad 4.3下运行该应用程序,那么控件会向左移动。
在此示例中,两个控件都具有相同的自动调整遮罩和内容模式
部署目标:4.3
基础SDK 5.0
有人可以解释我的问题。
答案 0 :(得分:1)
嗯,它不漂亮...... UISwitch都没有相同的宽度 我用这个代码尝试一下:
CGRect aRect = self.mySwitch.frame;
aRect.origin.x = 20;
aRect.origin.y = 20;
self.mySwitch.frame = aRect;
这给了我两个模拟器中的正确位置 所以这解释了,但如何在没有那么难看的代码的情况下解决这个问题。
这是我在NSLog中找到的中心和原点的值。
ipad iOS 5
LOG: Center of sw1 x == 60 : y == 33.50
LOG: Origin of sw1 x == 20 : y == 20.00
ipad iOS 4.3
LOG: Center of sw1 x == 52 : y == 33.50
LOG: Origin of sw1 x == 5 : y == 20.00
也许来自Apple的代码是这样编写的,所以在iOS 5之前开发的应用程序会正确显示它的开关,但反之则不正确...
我希望看到更好的解释。