iOS 更改不同尺寸的视图属性 类

iOS changing view properties for different size classes

我想知道是否可以针对特定尺寸更改不同的视图属性 class。

例如,我有一个 ImageView,我为 iPad 选择了尺寸 class,我只想更改该尺寸 class 的背景图像。

我认为选择尺码 class 并更改 属性 只会将更改应用于该尺码 class,但事实似乎并非如此?

有没有办法用界面生成器实现这个?而不是进入代码,并检测它是否是 iPad 并从那里应用更改?

不,使用大小 类 你只能改变一些属性,比如 UILabel 的字体大小等等...如果你想改变 iPad 的背景图片我想只有选择是通过检测设备是否为iPad。

只有 Interface Builder 中旁边有小“+”按钮的属性才能针对不同大小进行自定义 classes。

但是,资产目录支持尺寸 class 的特定图像,因此 OP 的特定尺寸 class(es) 的不同背景图像的具体示例无需编写代码即可实现。请参阅 Xcode 文档:https://developer.apple.com/library/mac/recipes/xcode_help-image_catalog-1.0/chapters/CustomizingImageSetsforSizeClasses.html#//apple_ref/doc/uid/TP40013303-CH10-SW1

顺便说一句,您始终可以通过在文件名中使用 ~ipad 后缀或在使用资产目录时指定特定于 iPad 的图像版本。但是尺寸 class 更加灵活且面向未来,因为您的应用可能尺寸紧凑 class,即使它位于 iPad 上。例如,50:50 横向拆分中的每个应用 iPad 都是紧凑宽度,但在 iPad Pro 上它们是常规宽度。