【发布时间】:2013-12-26 09:17:51
【问题描述】:
我在我的IOS 应用程序的许多地方都使用UISwitch。其中一些是股票UISwitch,其中一些是subclassed。问题在于iOS 6 VS iOS 7 的大小发生了变化。所以我写了这个方法:
-(void)layoutSubviews{
if ([[[UIDevice currentDevice]systemVersion]intValue]<7) {
self.frame = CGRectMake(self.frame.origin.x-28, self.frame.origin.y, self.frame.size.width, self.frame.size.height);
}
}
我可以更改每个子类并添加此方法,但我认为这不是正确的方法。
如何设置此类以影响基础 UISwitch 类?
【问题讨论】:
-
为什么不创建一个类并在其中放置这个方法并使用这个类对象
-
我认为这里存在逻辑错误。每次
layoutSubviews被调用时,你的框架都会改变。或者你可以确保它只被调用一次。
标签: ios ios6 ios7 subclass uiswitch