iOS,界面构建器错误与调整类和IBInspectables?
发布时间:2020-12-14 17:18:49 所属栏目:百科 来源:网络整理
导读:我不知道发生了什么事,我正在努力解决这个问题,我正在尝试为代码中的不同大小调整类来满足使用IBInspectables的一些特殊情况. 在模拟器上,以下代码在iPad,iPhone 4和iPhone 6上按预期工作. 但是在界面构建器中,只预览任何/任何和常规/常规工作. 这好像是个bu
我不知道发生了什么事,我正在努力解决这个问题,我正在尝试为代码中的不同大小调整类来满足使用IBInspectables的一些特殊情况.
在模拟器上,以下代码在iPad,iPhone 4和iPhone 6上按预期工作. 但是在界面构建器中,只预览任何/任何和常规/常规工作. 这好像是个bug? - (void)drawRect:(CGRect)rect { // Drawing code CGFloat l_borderWidth = self.AaBorderWidth; // 8.5 CGFloat l_cornerRadius = self.AaCornerRad; // 33 CGFloat l_shadHeight = self.AaShadHeight; // 15.1 CGFloat l_textYOffset = self.AaTextYOffset; // 6.1 if (self.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassCompact) { if (self.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassCompact) { //iphone3.5 / 4 / 4.7 landscape l_borderWidth = self.CcBorderWidth; l_cornerRadius = self.CcCornerRad; l_shadHeight = self.CcShadHeight; l_textYOffset = self.CcTextYOffset; } } if (self.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular) { if (self.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassRegular) { //ipad landscape l_borderWidth = self.RrBorderWidth; l_cornerRadius = self.RrCornerRad; l_shadHeight = self.RrShadHeight; l_textYOffset = self.RcTextYOffset; } if (self.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassCompact) { //iphone6+ l_borderWidth = self.RcBorderWidth; l_cornerRadius = self.RcCornerRad; l_shadHeight = self.RcShadHeight; l_textYOffset = self.RcTextYOffset; } } 编辑:我也尝试了以下方法 - (void)layoutSubviews { [super layoutSubviews]; [self setSizingClassValues]; } - (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { [super traitCollectionDidChange:previousTraitCollection]; [self setSizingClassValues]; } - (void)updateConstraints { [self setSizingClassValues]; [super updateConstraints]; } . - (instancetype)initWithFrame:(CGRect)frame { if (self = [super initWithFrame:frame]) { [self setSizingClassValues]; } return self; } - (void)awakeFromNib { [super awakeFromNib]; // Run time,loading from xib. } - (void)prepareForInterfaceBuilder { [super prepareForInterfaceBuilder]; // Design time. [self setSizingClassValues]; } 解决方法
我查看了代码,对我而言,似乎它正在运行代码.你到底想要完成什么?你能描述一下吗?我认为这是Xcode的一个错误.请注意,第一个看起来正确.我明白,如果我不够描述,但你能不能告诉我你想做什么?抱歉给你带来不便!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |