问题标签 [ibinspectable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - 带有@IBInspectable func 或 Selector 的自定义 UIView
我正在使用 Swift 并了解@IBInspectable。我想知道是否可以创建一个允许其他视图和 viewController 设置内部按钮操作的自定义视图,因为 ViewController 将 IBAction 直接链接到它拥有的按钮。
我可以在我的自定义视图中使用 Selector 类型创建一个@IBInspectable,但它对 Interface Builder 中的其他类不可见。
但不可见
谢谢!
ios - 在设计时设置的 IBInspectable 属性不保持值
我们正在将 IBInspectable 实现到一个大型应用程序中,希望允许在 Interface Builder 中设置一些设置,以减少我们视图中的代码量。我对 IBInspectable/IBDesignable 没有太多经验,我正在寻找一些答案和/或澄清我做错了什么。
我在 UITableViewCell 子类中声明了一个属性,如下所示:
像这样声明属性时,我可以选择在 Interface Builder > Attributes Inspector 中设置该颜色,这是意料之中的。但是,当我设置颜色时,_backgroundColor
运行时的值为 nil。
有人可以澄清这里可能发生的事情吗?谢谢!
ios - Interface Builder 的全局调色板
在swift中,我正在编写一个扩展(如Obj-C类别),它在代码类方法中维护“房屋颜色”。我想知道是否有一种方法可以使用 IBInspectable 或其他方式使界面生成器可以访问此颜色扩展,而不是像我在很多 IBInspector 示例使用中看到的那样专门将颜色附加到 UIView 子类。
objective-c - IBDesignable 在 Objective-C 中不起作用
我有许多用笔尖设计的可重用视图,它们都是 NibView 类的子类
我像这样子类化
在 NIB 文件中,我将文件的所有者设置为 ExampleView。一切都完美无缺,故事板和 xib 都可以实时呈现一切。
现在,在 Objective-C 中做同样的事情是行不通的
和
任何想法?
objective-c - 如何在仅 Objective-C 的项目中将 IBDesignable/IBInspectable 与 CocoaPods 一起使用
我的项目只是 Obj-C。通过 Cocoapods,我尝试安装一个利用 IBDesignable 和 IBInspectable的 Obj-C 库。如果我将该项目添加到我的库并运行“pod install”,则在构建/运行时会出现两个错误:
好的,显然要利用 IBDesignable/IBInspectable,您的代码需要位于框架中,而不是静态库中。看来我需要做的就是将其添加到我的 Podfile 中:
当我这样做时,我可以在 Interface Builder 中看到所有内容,但是当我构建/运行时,它找不到AFNetworking.h
. 我不认为该错误特定于 AFNetworking,它只是我的 Podfile 中的第一个 pod。
如果我使用的是 Swift,答案似乎是我需要将 Podfile 中的所有库添加到我的 Swift/Obj-C 桥接头中。
即使我没有使用 Swift,我还需要创建一个桥接头吗?
这是我的 Podfile(没有 DownloadButton pod,也没有 use_frameworks!):
ios - 如何在 Xcode 的 Interface Builder 中为计算属性设置默认 IBInspectable 值
我有一个自定义UIView
类,它有UILabel
一个子视图。我想在 Interface Builder 中设置标签的字体大小,所以我创建了一个计算属性fontSize
来获取和设置UILabel
字体的磅值。
如果用户为字体大小设置了一个值,这可以正常工作:
但是如果用户只是添加一个新的自定义视图,字体大小是空白的。
这里的答案说,在 Swift 中为计算属性设置默认值是没有意义的,但是如果我想要 Interface Builder 的默认值呢?我希望它说“17”之类的。我应该怎么办?
ios - 当另一个属性的计数增加时生成更多属性
基本上,我有一个可以在其中包含无限数量的 UIView 的视图。我希望能够设置self.numberOfSections = 8
或self.numberOfSections = 2
然后UIImages
分别生成相同数量的,然后可以对其进行操作。
IBInspectible
目前,无论我有 2 个 numberOfSections 还是 100 个 numberOfSections,我的代码中都会出现许多图像。我想以某种方式能够UIImages
根据我的 numberOfSections 号码进行创建。
如果我在这里将 Number Of Sections 设置为 2 - 我可以在情节提要中设置图像,但所有其他 IBInspectable 元素也会出现,因为只有 2 个部分,所以不会使用。有没有办法只显示需要的那些?我想在情节提要中设置图像。有没有办法重构它以免有这么多 IBInspectables?
这就是我将图像设置为代码中各种以编程方式生成的视图的方式。
swift - @IBDesignable - @IBInspectable,类不符合键值编码
使用 @IBDesignable 类时,我突然遇到一个奇怪且可重现的错误,@IBInspectable 属性给出以下警告:
Main.storyboard:警告:IB Designables:忽略“UIButton”实例上关键路径“test”的用户定义运行时属性。尝试设置其值时遇到异常:[ setValue:forUndefinedKey:]:此类不符合键测试的键值编码。
需要明确的是,这个警告只是 Xcode 中的一个问题,它封装得很好。还是很烦!
重现步骤
- 创建新项目
使用 @IBInspectable String 属性创建自定义 @IBDesignable UIButton 子类:
- 将 Button 拖到情节提要中的 View Controller 中,并在 Identity Inspector 中为其提供自定义类“TempButton”。
- 现在“测试”属性应该出现在“临时按钮”属性的属性检查器中 - 在此字段中输入任何内容。
- 砰!出现上述警告。从字段中删除文本,警告就会消失。
我尝试了几种解决方案 - 不同的变量名称,使“测试”属性成为可选,使用初始化程序,到目前为止没有运气。
这是问题的屏幕截图:
uiview - @IBInspectable 不更新故事板
我下面的自定义按钮在 iOS 模拟器上运行良好 - 当我在 Interface Builder 中设置旋转时,它会在我运行应用程序时旋转按钮。
但是,我在故事板中看不到旋转 - 它只显示按钮而不应用转换。
如果我在方法内部进行转换并不重要drawRect
- 结果相同。