问题标签 [ibdesignable]

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 投票
0 回答
258 浏览

ios - 无法映射不可滑动的段自动布局

我有个问题:

我有 ImageButton 控件(例如):

一旦我在 Interface Builder 中使用它,我就会收到错误消息。我可以构建和运行应用程序,当我进入视图时,它会正确呈现。当我在 Interface Builder 中时出现问题,我没有正确呈现预览。

条件:(http://opensource.apple.com/source/dyld/dyld-239.3/src/ImageLoaderMachO.cpp?txt)并没有告诉我太多。

我错过了什么?

0 投票
0 回答
365 浏览

ios - UIButton背景颜色以编程方式

我创建了一系列“半透明”的 UI 元素,使用@IBDesignable其中我将背景颜色设置为白色和低的部分 alpha。

这适用于UIViewUIButton背景保持清晰,文本颜色虽然在运行时正确显示为白色,但在 Xcode (IB) 中显示为默认蓝色。

我在这里做错了什么?如果它适用于UIView我不明白为什么相同的代码不适用于UIButton.

0 投票
1 回答
1356 浏览

ios - Swift 中的 IBDesignable 和多个目标

似乎IBDesignable在多个目标和快速模块方面存在一些问题。添加新目标后(我的应用程序现在有 2 个目标,例如卖方买方),我的StoryBoard开始停止视图构建并发出警告:

我认为,designables 编译器无法以某种方式找到合适的 *swift** 模块。
任何建议如何解决这个问题?

图片:

在此处输入图像描述

我正在使用Xcode 7.0.1Swift2

0 投票
1 回答
1006 浏览

xcode - 先前渲染的 IBDesignable 挂在情节提要中的“更新”上

  • Xcode 7.0.1 (7A1001)
  • iOS 9.0

我做了一个自定义的@IBDesignable UIView,只实现了drawRect函数。像这样:

当我写这个 drawRect 的时候,我有一个故事板,在视图控制器上有几个不同的渲染实例。当我对 drawRect 进行更改并保存时,这些更改将近乎实时地反映在情节提要中。甚至还有一个 IBInspectable String 允许我更改枚举类型并根据它进行不同的绘制。视图可以在情节提要中调整大小,新的宽度和高度将在我的绘图代码中考虑,并且绘图将按我的意图进行缩放和翻译。

这一切正常,我没有对该 UIView 子类进行任何更改,但我确实删除了故事板中的测试视图,同时构建了实际上最终会使用此自定义视图的新视图。

在围绕约束做了很多跳舞之后,我准备将我的自定义视图放置在它所属的位置。但它不起作用。虽然身份检查员将我的自定义类确认为 IBDesignable,但它仍处于“正在更新”状态。

自定义uiview ibdesignable的身份检查员

为了证明我没有发疯,我创建了全新的@IBDesignable UIView 子类,它实现了简单的drawRects 甚至是完全空的drawRects。这些现在有同样的问题,并且没有在情节提要上呈现。

请注意,我可以在模拟器中运行它,并且绘图会在运行时按预期显示。那么故事板能够提供我期望从 IBDesignable 获得的良好反馈的能力发生了什么变化?

我尝试过的事情:

  • 清理/清理构建文件夹/清除 XCode Derived Data 目录
  • 重新启动 XCode
  • 删除/注释掉 drawRect 胆量
  • 使用类似 HelloWorld 的教程制作最简单的 @IBDesignables
  • 使用现有的已知工作 @IBDesignables
  • 在情节提要中创建新的 UIViewController 以放置自定义视图
  • 切换:编辑器 > 自动刷新视图
  • 编辑器 > 刷新所有视图
  • 编辑器 > 调试选定视图

所有这些尝试继续在身份检查器的自定义类部分中显示“更新”。

显然,超出我的实施范围的东西在这里造成了问题。还有其他人有这个问题吗?谁能指出我正确的方向?不知道还有什么可以尝试的。

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 投票
1 回答
859 浏览

ios - 无法设计我的@IBDesignable 视图的子视图

我有以下内容:

但是,当我进入界面生成器时,我在那里看到了我的红旗,但我没有选择 flagView 的选项,比如设置它的背景颜色。我也没有看到它出现在我的 CustomView 下的视图层次结构中。我将有多个 CustomView,每个都可能有不同的颜色。我想在界面生成器中而不是在代码中执行此操作。有没有办法可以通过界面生成器来编辑我的@IBDesignable 的子视图?

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 回答
505 浏览

xcode - 分配 @IBDesignable 自定义类时,Storyboard UIView 背景颜色消失

重现步骤:

  1. 创建如下类MyIcon

  2. 将 UIView 拖到故事板上(背景为白色);

  3. 将 UIView 的自定义类设置为MyIcon; 和

  4. 背景颜色消失。

MyIcon.swift:

请参阅下面的故事板屏幕截图以获取白色背景颜色丢失的证据:

在此处输入图像描述

0 投票
1 回答
695 浏览

uiview - @IBInspectable 不更新故事板

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

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

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

0 投票
0 回答
1510 浏览

ios - IB Designables:无法更新自动布局状态:代理引发“NSInternalInconsistencyException”异常:无法在包中加载 NIB

我使用 stroyboard 从 xib 创建预览,但出现以下错误:

代码:

Xib按File's OwnerClass加载,不是UIViewClass,OniOS8是正常的,iOS7是错误的

错误路径:

1.将项目目标更改为iOS7.

2.退出Xcode。

3.清理 DerivedData 文件夹。

4.打开项目。

5.选中Main.storyboard,查看预览。

这是演示