问题标签 [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.

0 投票
1 回答
1113 浏览

xcode - 带有@IBInspectable func 或 Selector 的自定义 UIView

我正在使用 Swift 并了解@IBInspectable。我想知道是否可以创建一个允许其他视图和 viewController 设置内部按钮操作的自定义视图,因为 ViewController 将 IBAction 直接链接到它拥有的按钮。

我可以在我的自定义视图中使用 Selector 类型创建一个@IBInspectable,但它对 Interface Builder 中的其他类不可见。

但不可见

在此处输入图像描述

谢谢!

0 投票
1 回答
518 浏览

ios - 在设计时设置的 IBInspectable 属性不保持值

我们正在将 IBInspectable 实现到一个大型应用程序中,希望允许在 Interface Builder 中设置一些设置,以减少我们视图中的代码量。我对 IBInspectable/IBDesignable 没有太多经验,我正在寻找一些答案和/或澄清我做错了什么。

我在 UITableViewCell 子类中声明了一个属性,如下所示:

像这样声明属性时,我可以选择在 Interface Builder > Attributes Inspector 中设置该颜色,这是意料之中的。但是,当我设置颜色时,_backgroundColor运行时的值为 nil。

有人可以澄清这里可能发生的事情吗?谢谢!

0 投票
2 回答
2061 浏览

ios - Interface Builder 的全局调色板

在swift中,我正在编写一个扩展(如Obj-C类别),它在代码类方法中维护“房屋颜色”。我想知道是否有一种方法可以使用 IBInspectable 或其他方式使界面生成器可以访问此颜色扩展,而不是像我在很多 IBInspector 示例使用中看到的那样专门将颜色附加到 UIView 子类。

0 投票
1 回答
1037 浏览

objective-c - IBDesignable 在 Objective-C 中不起作用

我有许多用笔尖设计的可重用视图,它们都是 NibView 类的子类

我像这样子类化

在 NIB 文件中,我将文件的所有者设置为 ExampleView。一切都完美无缺,故事板和 xib 都可以实时呈现一切。

现在,在 Objective-C 中做同样的事情是行不通的

任何想法?

0 投票
1 回答
1269 浏览

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!):

0 投票
0 回答
3118 浏览

ios - 如何在 Xcode 的 Interface Builder 中为计算属性设置默认 IBInspectable 值

我有一个自定义UIView类,它有UILabel一个子视图。我想在 Interface Builder 中设置标签的字体大小,所以我创建了一个计算属性fontSize来获取和设置UILabel字体的磅值。

如果用户为字体大小设置了一个值,这可以正常工作:

在此处输入图像描述

但是如果用户只是添加一个新的自定义视图,字体大小是空白的。

在此处输入图像描述

这里的答案说,在 Swift 中为计算属性设置默认值是没有意义的,但是如果我想要 Interface Builder 的默认值呢?我希望它说“17”之类的。我应该怎么办?

0 投票
1 回答
280 浏览

ios - @IBInspectable UIColors 列表?

我正在尝试制作一个在 Interface Builder 中可调整的 GradientView。我已经能够得到它,所以我可以指定垂直与水平,以及开始/停止颜色:

在此处输入图像描述

我也希望能够包含中间颜色。@IBInspectable钩子/@IBDesignable提供这可能吗?

我可以设想一个+按钮,它将在那里插入一行并允许它容纳更多颜色。

(顺便说一句:我真希望我很久以前就这样做了,设计师似乎向我扔了很多渐变,而且我总是打开编码它们)

0 投票
1 回答
182 浏览

ios - 当另一个属性的计数增加时生成更多属性

基本上,我有一个可以在其中包含无限数量的 UIView 的视图。我希望能够设置self.numberOfSections = 8self.numberOfSections = 2然后UIImages分别生成相同数量的,然后可以对其进行操作。

IBInspectible目前,无论我有 2 个 numberOfSections 还是 100 个 numberOfSections,我的代码中都会出现许多图像。我想以某种方式能够UIImages根据我的 numberOfSections 号码进行创建。

旋转WheelView

故事板检查

如果我在这里将 Number Of Sections 设置为 2 - 我可以在情节提要中设置图像,但所有其他 IBInspectable 元素也会出现,因为只有 2 个部分,所以不会使用。有没有办法只显示需要的那些?我想在情节提要中设置图像。有没有办法重构它以免有这么多 IBInspectables?

这就是我将图像设置为代码中各种以编程方式生成的视图的方式。

0 投票
4 回答
4421 浏览

swift - @IBDesignable - @IBInspectable,类不符合键值编码

使用 @IBDesignable 类时,我突然遇到一个奇怪且可重现的错误,@IBInspectable 属性给出以下警告:

Main.storyboard:警告:IB Designables:忽略“UIButton”实例上关键路径“test”的用户定义运行时属性。尝试设置其值时遇到异常:[ setValue:forUndefinedKey:]:此类不符合键测试的键值编码。

需要明确的是,这个警告只是 Xcode 中的一个问题,它封装得很好。还是很烦!

重现步骤

  1. 创建新项目
  2. 使用 @IBInspectable String 属性创建自定义 @IBDesignable UIButton 子类:

    1. 将 Button 拖到情节提要中的 View Controller 中,并在 Identity Inspector 中为其提供自定义类“TempButton”。
    2. 现在“测试”属性应该出现在“临时按钮”属性的属性检查器中 - 在此字段中输入任何内容。
    3. 砰!出现上述警告。从字段中删除文本,警告就会消失。

我尝试了几种解决方案 - 不同的变量名称,使“测试”属性成为可选,使用初始化程序,到目前为止没有运气。

这是问题的屏幕截图:

在此处输入图像描述

0 投票
1 回答
695 浏览

uiview - @IBInspectable 不更新故事板

我下面的自定义按钮在 iOS 模拟器上运行良好 - 当我在 Interface Builder 中设置旋转时,它会在我运行应用程序时旋转按钮。

但是,我在故事板中看不到旋转 - 它只显示按钮而不应用转换。

如果我在方法内部进行转换并不重要drawRect- 结果相同。