是否可以在Attribute Inspector中配置@IBInspectable
属性的显示和/或控制方式?例如,我有一个CGFloat
属性" Overlay Alpha"在检查员中出现如下:
问题是调节器上/下箭头仅以整数(+/- 1)步进更新。我希望它们以小步骤更新,比如+/- 0.05增量。有没有办法做到这一点?
控件的其他属性如何?您可以显示CGFloat
而不是数字字段的滑块吗?你能添加一个工具提示吗?你能添加静态描述性文字吗?
只是想知道我可以自定义多少显示器。我试图看看我能在多大程度上推动IBDesignable功能,使IB成为一个真正的UI设计工具。
答案 0 :(得分:0)
问题是调节器上/下箭头仅以整数(+/- 1)步进更新。我希望它们以小步骤更新,比如+/- 0.05增量。有没有办法做到这一点?
缺少任何解释如何操作的文档以及您的问题已超过3年的事实表明您实际上无法更改IB中可检查属性的步进器的增量值。
可以做的是根据您要调整的属性创建另一个属性,并缩放该属性,使增量1对应于您想要的大小的步数。例如,设计师可能习惯于根据百分比来考虑不透明度,因此您可以使用getter和setter创建alphaPercent
属性,将alpha
属性向上扩展100:
@IBInspectable var alphaPercent : CGFloat {
get {
return self.alpha * 100
}
set(percentage) {
self.alpha = percentage / 100
}
}
如果您将该属性添加到@IBDesignable
视图,则每次点击都可以使用步进器将视图的不透明度更改为1%。
控件的其他属性如何?你能为CGFloat而不是数字字段显示一个滑块吗?你能添加一个工具提示吗?你能添加静态描述性文字吗?
目前这些都不可能。如果您长期需要技术较少的用户进行用户界面调整(例如,如果您为许多不同的客户设置相同的基本应用程序),那么构建一个提供的应用程序版本可能是有意义的。编辑模式。查看Tweaks framework from Facebook可能会给您一些想法。