(在swift2中编程)在我的iOS应用程序中,我使用了框架。我还成功地使用了IBDesignable功能。我在IBDesignable框架中有一堆View和按钮,因此可以很好地呈现在界面构建器的屏幕上。问题是这些View之一在其初始化时执行代码,如果它仅在IBDesignableinterfacebuilder的上下文中运行(执行只是为了呈现IB屏幕),则会执行断言。断言的理由是有效的,实际上并不重要,底线是我不想在“正常”操作期间失去此功能。我的解决方案想法是知道何时执行代码只是为了在IB中呈现IBDesignable模式,从而构建一个开关以不/执行断言。我尝试使用#if!TARG
在layoutSubviews中,我正在调用setImage()并向其传递一个UIImage但它从未出现在InterfaceBuilder中,但它始终当我运行程序时出现。 最佳答案 可能您正在使用此方法加载您的UIImage:UIImage*image=[UIImageimageNamed:@"image"];这在界面构建器中不起作用,因为imageNamed:方法使用主包,但IB以不同的方式加载资源。尝试这样的事情:-(void)prepareForInterfaceBuilder{UIImage*image=[UIImageim
IBDesignable属性似乎不适用于使用swift2的Xcode7。下面是我用来绘制按钮的自定义类。@IBDesignableclassPushButtonView:UIButton{overridefuncdrawRect(rect:CGRect){letpath=UIBezierPath(ovalInRect:rect)UIColor.greenColor().setFill()path.fill()}代码在模拟器中运行。(见图1)我还附上了Storyboard的屏幕截图(见图2)不确定是否需要更改某些设置 最佳答案 我在使
我正在尝试在表格单元格原型(prototype)中设置我的UIView样式,使其具有阴影和更多样式自定义,但由于某些原因,当我构建项目时,更改未应用。我在单独的文件CustomView.swift中有下一个代码importUIKit@IBDesignableclassCustomView:UIView{@IBInspectablevarcornerRadius:CGFloat=0{didSet{layer.cornerRadius=cornerRadiuslayer.masksToBounds=cornerRadius>0}}@IBInspectablevarshadowOpacity
这是一个跟踪/拉伸(stretch)字体的IBLabel。它在构建中完美运行。但是更改不会在Storyboard中实时显示。//UILabel,butyoucanset//thetracking(that'stheoverallamountofspacebetweenallletters)//andstreching(actuallysqueezeorstretchthelettershorizontally)//Note:it'sverycommonthattypographersneedyoutoadjustthese.importUIKit@IBDesignableclassSt
我想制作自定义UINavigationItem,并且可以在Storyboard中进行更改并查看。我知道如何使用@IBDesignable和@IBInspectable制作自定义UIView,但我的问题是UINavigationItem没有有draw方法和requiredinit?(coderaDecoder:NSCoder)很快被调用。解决这个问题的最佳方法是什么? 最佳答案 不幸的是,无法在界面构建器中呈现自定义UINavigationItem(@IBDesignable的用途)。在thedocs(LiveRendering部分)
我是Xcode的新手,我认为有办法做到这一点,但我似乎无法弄清楚。我通过子类化UIView并使用IBDesignable制作了一个自定义控件。但是,我似乎无法弄清楚如何将事件从我的控制范围内发送到它之外的IBAction。 最佳答案 您需要继承UIControl而不是UIView。一旦InterfaceBuilder看到UIControl子类,然后发送事件部分和操作将可用。AccessingtheControl’sTargetsandActions 关于xcode-IBDesignabl
当引用使用UIColor(named:)创建的颜色时,InterfaceBuilder崩溃,因为它为颜色完成了nil。最初我认为这是因为IB在错误的bundle中寻找颜色,但在指定要查找的Bundle后,IB仍然找不到颜色。这在设备/模拟器上运行时运行良好。extensionUIColor{//MARK:-Orangesstaticlettangerine=UIColor(named:"Tangerine",in:Bundle(for:AppDelegate.self),compatibleWith:nil)!.....}进一步研究一下,IB所查看的Bundle似乎确实包含对颜色和图像
我想自定义一个5星UIView,我还想在Storyboard中渲染它。所以我决定使用@IBDesignable和@IBInspectable。下面是我的代码。importUIKit@IBDesignableclassRatingView:UIView{overrideinit(frame:CGRect){super.init(frame:frame)setUpView()}requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)setUpView()}funcsetUpView(){letimageView=UIIma
我有一个自定义UIView我尝试使用@IBDesignable呈现的子类.我有一个@IBInspectable属性名为image,这是我从界面构建器中设置的。当我打开界面生成器时image我选择的那个在View中没有正确呈现,也就是说,自动布局看起来有些问题。当我检查Reportnavigator我在InterfaceBuilder中收到警告组。ShowingAllMessages(null):-piebeingignored.Itisonlyusedwhenlinkingamainexecutable这发生在Link下部分。我不知道如何解决这个问题。尝试了SO中的许多解决方案.清理构