问题标签 [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 投票
1 回答
271 浏览

ios - 框架中的 IBDesignable 控件

我在 IBDesignable https://developer.apple.com/videos/play/wwdc2014-411/上观看了精彩的视频,并创建了一个带有控件的框架,供我的主应用程序使用(如有必要,还可以共享) )。

根据这个很棒的教程,我使用 IB 创建了一个自定义“复合”控件,http://supereasyapps.com/blog/2014/12/15/create-an-ibdesignable-uiview-subclass-with-code-from -an-xib-file-in-xcode-6

该技术效果很好,我现在可以将我的可设计控件放在我的故事板上。

问题是我注意到我的“框架”中的所有 IBOutlets 和 IBAction 都出现在故事​​板上的 IB 中。但我想隐藏它们!控件的功能隐藏在框架内,IBOutlets 和 IBActions 已被创建以促进它们在该框架内的操作,并通过委托或其他方式处理对外部世界的通知。

这种技术很有说服力,因为我可以使用它来创建一个可重用的“复合”控件库,但它对库的实现者隐藏某些 IBOutlets 和 IBAction 以确保“安全”元素会很有用

这可以做到吗?是否有任何标志可以隐藏框架内的 IBOutlet/IBAction 元素?

0 投票
3 回答
8022 浏览

ios - 无法在界面生成器中加载 IBDesignable xib

我有一个xib( childXib) 文件通过其所有者链接到其自定义UIViewswift 文件。

这就是我初始化自定义的方式UIView

当我想在另一个( ) 中添加这个xib( ) 时,我收到以下错误:childXibxibparentXib

错误:IB Designables:无法呈现 MyRootView 的实例:代理引发异常。

MyRootView文件链接到哪里parentXib

错误:IB Designables:无法更新自动布局状态:代理引发“NSInternalInconsistencyException”异常:无法在包中加载 NIB:“NSBundle(已加载)”,名称为“MyIBDesignableCustomViewFilename”

MyIBDesignableCustomViewFilename链接到的文件在哪里childXib

当我通过从 中单击来调试它时,它Debug在该行中不起作用:Custom classIdentity inspector

所有xib文件都Copy Bundle ResourcesBuild Phases.

知道有什么问题吗?

0 投票
0 回答
109 浏览

swift - IBDesignable 和 IBInspectable 可以在 iOS7 手机上运行吗?

我正在使用 Xcode7.1,并使用@IBDesignable@IBInspectable自定义视图。当我设置Deployment Targetto时iOS7.0,我设置的属性IBInspectable不起作用。它可以在 iPhone 上使用iOS7.0吗?

0 投票
0 回答
314 浏览

ios - 使 Interface Builder 使用当前选择的尺寸类绘制 IB_DESIGNABLE 子视图

我有一个 XIB(文件的所有者:)DesignableView,我在 Interface Builder 中以两个不同的大小类进行了布局:


DesignableView.xib:任意 | 任何

Designable View.xib: 任意 |  任何


DesignableView.xib:常规 | 任何

Designable View.xib: 常规 |  任何


我想DesignableView在另一个 XIB 文件中使用它。由于我是WYSIWYG的忠实粉丝,因此我制作了视图IB_DESIGNABLE并将以下代码添加到文件的所有者类中:

设计视图.h

设计视图.m

这段代码所做的就是在 Interface Builder 中使用它的任何地方渲染视图。

现在我创建另一个 XIB 文件并将其文件的所有者设置为ContainerView. 我向其中添加了两个空 UIView,并将它们的类属性设置为DesignableView. Interface Builder 会在几秒钟后更新视图,并DesignableView按照第一个 XIB 中的布局显示两个 s - 正如预期的那样。

但是,它总是加载在“任何 | 任何”尺寸类中指定的布局DesignableView- 无论ContainerView的尺寸类如何(参见下面的屏幕截图)。


ContainerView.xib:任意 | 任何

Container View.xib: 任意 |  任何


ContainerView.xib:常规 | 任何

Container View.xib:常规 |  任何


(在运行时,DesignableView总是以正确的大小类布局出现。)

有什么方法可以让 Interface Builder 以正确的尺寸等级显示 IB_DESIGNABLE 视图?

即想要的行为是:

0 投票
0 回答
218 浏览

ios - 使用@IBInspectable 设置增加或减少步骤

我使用@IBDesignable和自定义了进度视图@IBInspectable。当我单击增加按钮时,它总是增加 1 。我可以设置它增加任何其他数字吗? 在此处输入图像描述

0 投票
1 回答
892 浏览

ios - IBDesignable 在尝试调用 loadNibNamed 时崩溃 EXC_BAD_ACCESS

我有一个名为DesignableControl. 我在我的自定义视图中使用它,以便我可以看到它们在情节提要中呈现。这是基类:

这是我的子类StackedButton

上面的代码在我运行应用程序时运行并且看起来很好,但是,当我在情节提要中查看它时,它会EXC_BAD_ACCESS在以下行中使 Interface Builder 进程崩溃DesignableControl(为了清楚起见,将其分开):

当我第一次编写这段代码时,它曾经可以工作,但似乎在最新版本的 Xcode(截至本文时为 7.2.1)中被破坏了。我究竟做错了什么?

0 投票
1 回答
479 浏览

xcode - Sse IBInspectable 和 IB_DESIGNABLE 错误更改未显示在情节提要中?

我阅读了这篇文章IBInspectable / IBDesignable和流程步骤,但我发现更改没有立即呈现在情节提要上。有人知道为什么吗?我的 Xcode 版本:7.1

在此处输入图像描述

我的主要代码:

视图控制器.h

UIView+CornerRadius.h

UIView+CornerRadius.m

0 投票
2 回答
2809 浏览

interface-builder - 无法渲染 ClassName 的实例:代理在 bundle 中加载 nib 时抛出异常

当我在故事板或另一个 nib 中包含我的自定义 IBDesignable 视图时,代理崩溃并抛出异常,因为它无法加载 nib。

错误:IB Designables:无法更新自动布局状态:代理引发“NSInternalInconsistencyException”异常:无法在包中加载 NIB:“NSBundle(已加载)”,名称为“StripyView”

这是我用来加载笔尖的代码:

当我在模拟器中运行时,视图从笔尖正确加载,为什么它不会显示在 Interface Builder 中?

0 投票
0 回答
575 浏览

ios - 更改 CAShapeLayer 路径

我有一个按钮,我想根据帧大小进行缩放。但是,当我更改底层 CALayer 路径时,它们不会得到更新。在updateLayerProperites函数中,我使用CALayer'asetValue函数来更改路径。我也尝试过path直接设置属性,kiteShape.path = kitePath.CGPath但这也不起作用。如何缩放绘图?

0 投票
1 回答
336 浏览

objective-c - IBInspectable 属性值未在 xib 中更新

我在使用 IBInspectable 属性时遇到了一个小问题,不确定它是否与我的 xibs 和 xib 使用有关。我正在尝试在多个视图控制器之间重用自定义控件。该控件是一个自定义选项卡管理器:

选项卡管理器 Xib

在此处输入图像描述

IBInspectable 属性在此 xib 中配置为:First、Second、Third。

这是头文件的相应代码。

这在 TabContainerView.xib 中运行良好,没有问题。现在,当我尝试在两个不同的视图控制器中使用此控件时,我遇到了问题。我的两个视图控制器也是从 Xibs 加载的。

在视图控制器 1 中,我有这样的东西:

在此处输入图像描述

在视图控制器 1 中,我将自定义视图子类化为 TabContainerView 子类,当我运行应用程序时它工作得很好。我还将文本更改为特定于该视图控制器。List、Map、Filter 是视图控制器一的 IBInspectable 属性值。在视图控制器 2(未显示)中,我做了完全相同的事情,但是视图控制器 2 特定的不同 IBInspectable 属性值。但是,当我运行应用程序时,这些值永远不会更新,并且始终保持为 First、Second 和 Third . 我不确定我正在做的事情是否会导致此问题,但我们将不胜感激任何帮助或提示。(IBDesignable 似乎在它中断的地方给了我很多警告,并且不确定它是否只是为 xib 加载最后保存的值。)