问题标签 [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.
ios - 无法映射不可滑动的段自动布局
我有个问题:
我有 ImageButton 控件(例如):
一旦我在 Interface Builder 中使用它,我就会收到错误消息。我可以构建和运行应用程序,当我进入视图时,它会正确呈现。当我在 Interface Builder 中时出现问题,我没有正确呈现预览。
条件:(http://opensource.apple.com/source/dyld/dyld-239.3/src/ImageLoaderMachO.cpp?txt)并没有告诉我太多。
我错过了什么?
ios - UIButton背景颜色以编程方式
我创建了一系列“半透明”的 UI 元素,使用@IBDesignable
其中我将背景颜色设置为白色和低的部分 alpha。
这适用于UIView
但UIButton
背景保持清晰,文本颜色虽然在运行时正确显示为白色,但在 Xcode (IB) 中显示为默认蓝色。
我在这里做错了什么?如果它适用于UIView
我不明白为什么相同的代码不适用于UIButton
.
xcode - 先前渲染的 IBDesignable 挂在情节提要中的“更新”上
- Xcode 7.0.1 (7A1001)
- iOS 9.0
我做了一个自定义的@IBDesignable UIView,只实现了drawRect函数。像这样:
当我写这个 drawRect 的时候,我有一个故事板,在视图控制器上有几个不同的渲染实例。当我对 drawRect 进行更改并保存时,这些更改将近乎实时地反映在情节提要中。甚至还有一个 IBInspectable String 允许我更改枚举类型并根据它进行不同的绘制。视图可以在情节提要中调整大小,新的宽度和高度将在我的绘图代码中考虑,并且绘图将按我的意图进行缩放和翻译。
这一切正常,我没有对该 UIView 子类进行任何更改,但我确实删除了故事板中的测试视图,同时构建了实际上最终会使用此自定义视图的新视图。
在围绕约束做了很多跳舞之后,我准备将我的自定义视图放置在它所属的位置。但它不起作用。虽然身份检查员将我的自定义类确认为 IBDesignable,但它仍处于“正在更新”状态。
为了证明我没有发疯,我创建了全新的@IBDesignable UIView 子类,它实现了简单的drawRects 甚至是完全空的drawRects。这些现在有同样的问题,并且没有在情节提要上呈现。
请注意,我可以在模拟器中运行它,并且绘图会在运行时按预期显示。那么故事板能够提供我期望从 IBDesignable 获得的良好反馈的能力发生了什么变化?
我尝试过的事情:
- 清理/清理构建文件夹/清除 XCode Derived Data 目录
- 重新启动 XCode
- 删除/注释掉 drawRect 胆量
- 使用类似 HelloWorld 的教程制作最简单的 @IBDesignables
- 使用现有的已知工作 @IBDesignables
- 在情节提要中创建新的 UIViewController 以放置自定义视图
- 切换:编辑器 > 自动刷新视图
- 编辑器 > 刷新所有视图
- 编辑器 > 调试选定视图
所有这些尝试继续在身份检查器的自定义类部分中显示“更新”。
显然,超出我的实施范围的东西在这里造成了问题。还有其他人有这个问题吗?谁能指出我正确的方向?不知道还有什么可以尝试的。
ios - 当另一个属性的计数增加时生成更多属性
基本上,我有一个可以在其中包含无限数量的 UIView 的视图。我希望能够设置self.numberOfSections = 8
或self.numberOfSections = 2
然后UIImages
分别生成相同数量的,然后可以对其进行操作。
IBInspectible
目前,无论我有 2 个 numberOfSections 还是 100 个 numberOfSections,我的代码中都会出现许多图像。我想以某种方式能够UIImages
根据我的 numberOfSections 号码进行创建。
如果我在这里将 Number Of Sections 设置为 2 - 我可以在情节提要中设置图像,但所有其他 IBInspectable 元素也会出现,因为只有 2 个部分,所以不会使用。有没有办法只显示需要的那些?我想在情节提要中设置图像。有没有办法重构它以免有这么多 IBInspectables?
这就是我将图像设置为代码中各种以编程方式生成的视图的方式。
ios - 无法设计我的@IBDesignable 视图的子视图
我有以下内容:
但是,当我进入界面生成器时,我在那里看到了我的红旗,但我没有选择 flagView 的选项,比如设置它的背景颜色。我也没有看到它出现在我的 CustomView 下的视图层次结构中。我将有多个 CustomView,每个都可能有不同的颜色。我想在界面生成器中而不是在代码中执行此操作。有没有办法可以通过界面生成器来编辑我的@IBDesignable 的子视图?
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
- 结果相同。
ios - IB Designables:无法更新自动布局状态:代理引发“NSInternalInconsistencyException”异常:无法在包中加载 NIB
我使用 stroyboard 从 xib 创建预览,但出现以下错误:
代码:
Xib按File's Owner
Class加载,不是UIView
Class,OniOS8
是正常的,iOS7
是错误的
错误路径:
1.将项目目标更改为
iOS7
.2.退出Xcode。
3.清理 DerivedData 文件夹。
4.打开项目。
5.选中
Main.storyboard
,查看预览。
这是演示