我有以下代码集:
#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface CustomView : UIView
@property (nonatomic) IBInspectable UIColor *borderColor;
@property (nonatomic) IBInspectable CGFloat borderWidth;
@property (nonatomic) IBInspectable CGFloat cornerRadius;
@end
Run Code Online (Sandbox Code Playgroud)
#import "CustomView.h"
@implementation CustomView
- (void)setBorderColor:(UIColor *)borderColor {
_borderColor = borderColor;
self.layer.borderColor = borderColor.CGColor;
}
- (void)setBorderWidth:(CGFloat)borderWidth {
_borderWidth = borderWidth;
self.layer.borderWidth = borderWidth;
}
- (void)setCornerRadius:(CGFloat)cornerRadius {
_cornerRadius = cornerRadius;
self.layer.cornerRadius = cornerRadius;
}
@end
Run Code Online (Sandbox Code Playgroud)
(对于Swift参考,Swift代码也出现了这个问题)
@IBDesignable
class CustomView : UIView {
override init(frame: CGRect) {
super.init(frame: frame)
}
required init(coder aDecoder: …Run Code Online (Sandbox Code Playgroud) 我有一些我创建的自定义控件,我在新项目中使用它们.但是,我一直在界面生成器中遇到错误:
Failed to update auto layout status: Failed to load designables from path (null)
Run Code Online (Sandbox Code Playgroud)
要么
Failed to render instance of <control>: Failed to load designables from path (null)
Run Code Online (Sandbox Code Playgroud)
我已经测试了另一个项目中的控件,它们似乎在界面构建器中正确呈现,但我无法让它们在当前项目中工作.导致此错误的原因以及如何解决?
提前致谢...
我有一个Objective-C和Swift混合动态框架.混合框架与两个纯Objective-C动态框架相关联.
当我尝试使用IB Designable在混合框架中标记任何类并在storyboard或nib中使用该类时,Xcode总是说它的实例无法呈现.
并且有错误消息:
IB Designables:无法呈现WZUITokenField的实例:dlopen(WZUIKit.framework,1):未加载库:/ Library/Frameworks/WZFoundation.framework/WZFoundation引用自:WZUIKit.framework原因:图像未找到
IB Designables:无法更新自动布局状态:dlopen(WZUIKit.framework,1):未加载库:@ rpath/WZFoundation.framework/WZFoundation参考自:WZUIKit.framework原因:未找到图像
框架WZUIKit是Objective-C和Swift混合框架,WZFoundation是纯Objective-C.
此外,所有这些sutff都适用于任何设备或模拟器.
简而言之,我想创建一个@IBInspectable属性,允许您在Storyboard中从下拉菜单中选择事物列表.此外,如果有办法创建分隔线并更好地组织,IBInspectables我想知道这是否也可行.在我的示例中,我想为电话号码创建正则表达式字符串,以便当我转到故事板时,我可以在下拉菜单中选择" 电话号码 "项,而不是输入正则表达式字符串.
目前我已经分类了一个,TextField所以我可以添加更多IBInspectables像正则表达式(你可以在图片中看到).因此,这就是我对我的子类所拥有的UITextField:
@IBDesignable public class FRM_TextField: UITextField {
@IBInspectable public var regex : String?
public var isValid : Bool{
if let unwrappedRegex = regex{
let applied_regex_expression = NSRegularExpression.regularExpressionWithPattern(unwrappedRegex, options: nil, error: nil)
let numberOfMatches = applied_regex_expression?.numberOfMatchesInString(text, options: nil, range: NSMakeRange(0, countElements(text)))
if(numberOfMatches > 0 ){
return true
}else{
return false
}
}
return false
}
public required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
public override init(){
super.init(); …Run Code Online (Sandbox Code Playgroud) 我有一个自定义视图(xib),其中有一个UIButton内部,我IBDesignable做了以下内容:
UserView.swift
import UIKit
@IBDesignable
class UserView: UIView {
@IBOutlet var view: UIView!
@IBOutlet weak var userButton: UIButton!
override init(frame: CGRect) {
super.init(frame: frame)
load()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
load()
}
fileprivate func load() {
Bundle.main.loadNibNamed("UserView", owner: self, options: nil)
addSubview(view)
self.frame = bounds
}
}
Run Code Online (Sandbox Code Playgroud)
UserView.xib
UserView 我添加了一个UIView Bar Button Item并分配了UserView类,但没有渲染,我得到以下构建错误:
错误:IB Designables:无法呈现和更新FoodViewController(bR3-Kz-wX7)的自动布局状态:代理引发了异常.
我目前的环境:Xcode 9,Swift 4
从第一个XCode 6/iOS 8 beta版本开始,我一直在开发和关闭应用程序几个月.我最喜欢的功能之一是实时渲染,使用@IBDesignableSwift中的标签.
我无法获得单一的东西来渲染.我认为一定是因为它是测试版,所以我决定等待完整版本再次尝试.它仍然失败了.我认为在我的代码中可能存在来自beta版本的工件,所以我废弃它并重新开始.它仍然无法正常工作.当然,这些错误现在更具描述性.
这是我的代码:
import UIKit
@IBDesignable class MyButton : UIButton {
let UNPRESSED_COLOR = UIColor(red: 221.0/256.0, green: 249.0/256.0, blue: 14.0/256.0, alpha: 1.0)
let PRESSED_COLOR = UIColor(red: 166.0/256.0, green: 187.0/156.0, blue: 11.0/256.0, alpha: 1.0)
var buttonColorValue: UIColor
let TEXT_COLOR = UIColor(red: 72.0/256.0, green: 160.0/256.0, blue: 5.0/256.0, alpha: 1.0)
required init(coder: NSCoder) {
self.buttonColorValue = UNPRESSED_COLOR
super.init(coder: coder)
// Initialization code
self.setTitleColor(TEXT_COLOR, forState: UIControlState.Normal)
self.setTitleColor(TEXT_COLOR, forState: UIControlState.Highlighted)
self.setTitleColor(TEXT_COLOR, forState: UIControlState.Selected)
}
override func touchesBegan(touches: NSSet, withEvent event: …Run Code Online (Sandbox Code Playgroud) 我有一个xib(childXib)文件链接到它的自定义UIViewswift文件UIView.
这是我初始化我的自定义的方式xib:
// init for IBDesignable
override init(frame: CGRect) {
super.init(frame: frame)
let view = loadViewFromNib()
view.frame = bounds
addSubview(view)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
addSubview(loadViewFromNib())
}
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass: self.dynamicType)
let nib = UINib(nibName: "CommentCellView", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
Run Code Online (Sandbox Code Playgroud)
当我想在另一个()中添加this childXib(xib)时,我收到以下错误:parentXibMyRootView
let view = nib.instantiateWithOwner(self, options: …Run Code Online (Sandbox Code Playgroud) 我有一个简单的UIButton子类,IBDesignable用IBInspectablevar 实现:
@IBDesignable class Button: UIButton {
@IBInspectable var borderColor: UIColor = UIColor.whiteColor() {
didSet { layer.borderColor = borderColor.CGColor }
}
}
Run Code Online (Sandbox Code Playgroud)
我没有在框架中使用它,它正在按照预期在Interface Builder中工作,但是,一旦我将此子类添加到我的Tests目标,它就会停止渲染实时,并且我得到以下错误:
Main.storyboard: error: IB Designables: Failed to update auto layout status: dlopen(TestTests.xctest, 1): Library not loaded: @rpath/XCTest.framework/XCTest
Referenced from: TestTests.xctest
Reason: image not found
Main.storyboard: error: IB Designables: Failed to render instance of Button: dlopen(TestTests.xctest, 1): Library not loaded: @rpath/XCTest.framework/XCTest
Referenced from: TestTests.xctest
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
如果我删除IBDesignable …
我IB_DESIGNABLE在pod中使用时遇到了一些困难.
我创建了一个自定义视图,我将其标记为IB_DESIGNABLE并创建了一个使用它的示例项目.到目前为止没问题.
将该自定义视图添加为pod依赖项时会出现此问题.虽然项目已成功构建和运行,但在打开使用自定义视图的故事板时会出现错误.实时渲染过程启动并尝试在"界面"构建器中显示实时视图但它失败并显示以下错误:

这太糟糕了,因为我们失去了实时渲染,在我看来,这是Xcode 6的最佳功能之一.
我尝试过使用其他项目IB_DESIGNABLE并拥有podspec:
EAColourfulProgressView)HRButton)ESTIndoorLocationView)其他人在Estimote中遇到了同样的问题- 室内位置错误,但所描述的解决方案意味着失去了实时渲染功能.
有没有人能够IB_DESIGNABLE通过Cocoapods 使用组件?
错误:"无法从路径加载可设计项(null)"
我有创建IBDesignable和IBInspectable自定义类,为视图提供阴影和角半径
但是当我分配Designable类时view,我得到了Designable Build Failed
这是我的代码
import Foundation
import UIKit
@IBDesignable
class DesignableView: UIView {
}
@IBDesignable
class DesignableButton: UIButton {
}
@IBDesignable
class DesignableLabel: UILabel {
}
@IBDesignable
class DesignableTableView: UITableView {
}
extension UIView {
@IBInspectable
var cornerRadius: CGFloat {
get {
return layer.cornerRadius
}
set {
layer.cornerRadius = newValue
}
}
@IBInspectable
var borderWidth: CGFloat {
get {
return layer.borderWidth
}
set {
layer.borderWidth = newValue
}
}
@IBInspectable
var …Run Code Online (Sandbox Code Playgroud) ibdesignable ×10
ios ×8
swift ×6
xcode ×5
xcode6 ×3
objective-c ×2
rendering ×1
xctest ×1
xib ×1