【发布时间】:2012-03-06 18:44:38
【问题描述】:
我的 vie 上有 UISwitch,从 xib 加载。它的 x 位置大于零,在 iOS 5 模拟器上看起来不错。但是当我尝试在 4.3 模拟器上运行它时,它看起来 UISwitch 的位置等于零
我的问题在哪里?
【问题讨论】:
我的 vie 上有 UISwitch,从 xib 加载。它的 x 位置大于零,在 iOS 5 模拟器上看起来不错。但是当我尝试在 4.3 模拟器上运行它时,它看起来 UISwitch 的位置等于零
我的问题在哪里?
【问题讨论】:
除了外观上的变化,UISwitches 在 iOS 4 和 5 之间缩小了。根据快速截图比较,它们大约 94pt 宽,现在只有 76pt。因此,如果您有一个开关,例如,根据自动调整大小的掩码右对齐,那么它将在 4 中比在 5 中更向左延伸。
遗憾的是,除了为 94pt 小部件设计并接受 5 点以下的一些额外空白空间之外,您几乎无能为力。因为界面构建器将所有东西都定位在精确的像素位置,而不是应用布局逻辑,所以非常可能您必须进行一些手动程序调整。
【讨论】:
UISwitchs,iOS 4 中的开关对该帧进行了某种验证,导致它们调整宽度,但不确定如何处理原点。
如果是ios 5的问题,可以根据iOS版本调整位置
BOOL isIOS5 = [[[UIDevice currentDevice] systemVersion] intValue] >= 5;
【讨论】:
someSwitch.frame.size.width