我有许多用nib设计的可重用View,它们都是NibView类的子类classNibView:UIView{varview:UIView!funcsetupNib(nibName:String){view=loadViewFromNib(nibName)view.frame=boundsview.autoresizingMask=UIViewAutoresizing.FlexibleWidth|UIViewAutoresizing.FlexibleHeightaddSubview(view)}funcloadViewFromNib(nibName:String)->UIView{let
我尝试按照以下指南进行操作1和2,但是当我尝试在Storyboard中呈现自定义View时出现错误。FailedtorenderandupdateautolayoutstatusforViewController.Theagentthrewanexception.这是我目前尝试过的:@IBDesignablefinalclassCustomView:UIView{overrideinit(frame:CGRect){super.init(frame:frame)setup()}requiredinit?(coderaDecoder:NSCoder){super.init(coder:a
这里是这个问题在谷歌驱动器中的项目:https://drive.google.com/file/d/1Js0t-stoerWy8O8uIOJl_bDw-bnWAZPr/view?usp=sharing我使用下面的IBDesignable代码制作了一个自定义导航栏(下图中的红色View)。我想,如果iPhone像iPhoneX、iPhoneXR这样的顶级手机,那么自定义导航栏的高度是88,否则高度是64。我制作了一个IBDesignable代码,所以我可以重用这个代码importUIKit@IBDesignableclassCustomParentNavigationBarView:UI
我想塑造一个UIView并能够在InterfaceBuilder中看到它的形状,当我将以下类设置为我的UIView它无法构建时,我我不确定错误在哪里。@IBDesignableclassCircleExampleView:UIView{overridefunclayoutSubviews(){setupMask()}funcsetupMask(){letpath=makePath()//maskthewholeviewtothatshapeletmask=CAShapeLayer()mask.path=path.cgPathself.layer.mask=mask}privatefun
我有一个自定义控件(xib+UIView子类)。我希望我的控件具有计算的高度,例如UITextField或ProgressBar,因此我希望IB不向我显示每一侧的UIView调整大小旋钮,而仅在我的自定义控件的左侧和右侧显示。在UITextField中,属性检查器中的高度字段是重影的,因此您无法从InterfaceBuilder修改它。我搜索了StackOverflow,找到了这个MakeafixedsizeUIView,likeUISwitch(usingIBDesignable),但这不是我要实现的目标。谢谢你的帮助,卢卡- 最佳答案
我正在尝试在应用程序上绘制一些虚线,但它仅在具有IBDesignable的main.storyboard上绘制。当我在iOS模拟器上运行该应用程序时,没有任何显示。发生了什么事?绘制代码:@IBDesignableclassAnalogView:UIView{fileprivateletthickHorizontalLayer=CAShapeLayer()fileprivateletthinHorizontalLayer=CAShapeLayer()@IBInspectablevarthickYCoord=50.0@IBInspectablevarthinYCoord=52.5over
我有一个简单的@IBDesignableView,我已将其指定为macOSStoryboard场景中顶级View的基类。例如:@IBDesignableclassOvalView:NSView{overridefuncdraw(_dirtyRect:NSRect){super.draw(dirtyRect)NSColor.red.setFill()NSBezierPath(ovalIn:bounds).fill()}}当我运行该应用程序时,此View显示正常。但是我在InterfaceBuilder的场景中没有呈现这个可设计的View:请注意,只有当有问题的View是场景的顶级View
我尝试使用我的自定义xib文件。但是那些UI没有显示在xcode的主视图Controller中。但它会在运行应用程序时显示。我已经在类里面添加了@IBDesignable。这是我所做的。我创建了TestView.xib并添加了一些设计我创建了TestView.swift我用自定义类中的TestView更新了TestView.xib的fileOwner我在testView.swift中添加了初始化代码TestView.swift中的代码importUIKit@IBDesignableclassDetailView:UIView{overrideinit(frame:CGRect){sup
我正在尝试为@IBDesignable控件生成示例数据,因此在为IB构建时,我将控件欺骗成它自己的数据源。结果是我将一些方法添加到协议(protocol)中,仅供IB使用,作为一个好公民,我希望在常规(非IB构建)中删除这些方法。我已将我的问题提炼为以下代码片段。我的协议(protocol)看起来像这样:-protocolTestProtocol{#ifTARGET_INTERFACE_BUILDERfuncmyControl(control:AnyObject,colorForIndexindex:UInt)->UIColor?funcmyControl(control:AnyObj
我有一个CustomClass.swift和一个CustomClass.xib。我希望XCode的InterfaceBuilder使用提供的.xib文件呈现类CustomClass的View。就像我运行应用程序时一样。我正在使用XCode8.3.2(8E2002)自定义类.swiftimportUIKit@IBDesignableclassforceInterface:UIView{overrideinit(frame:CGRect){super.init(frame:frame)}requiredinit?(coderaDecoder:NSCoder){super.init(code