标签: ibdesignable

IB_DESIGNABLE,IBInspectable - 接口构建器不更新

我有以下代码集:

CustomView.h

#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)

CustomView.m

#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代码也出现了这个问题)

CustomView.swift

@IBDesignable
class CustomView : UIView {
    override init(frame: CGRect) {
        super.init(frame: frame)
    }

    required init(coder aDecoder: …
Run Code Online (Sandbox Code Playgroud)

interface-builder ios ibdesignable ibinspectable

89
推荐指数
6
解决办法
4万
查看次数

Interface Builder - 无法从路径加载可设计项(null)

我有一些我创建的自定义控件,我在新项目中使用它们.但是,我一直在界面生成器中遇到错误:

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)

我已经测试了另一个项目中的控件,它们似乎在界面构建器中正确呈现,但我无法让它们在当前项目中工作.导致此错误的原因以及如何解决?

提前致谢...

custom-controls interface-builder ios xcode6 ibdesignable

61
推荐指数
4
解决办法
2万
查看次数

无法呈现IB Designables的实例

我有一个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都适用于任何设备或模拟器.

xcode objective-c interface-builder swift ibdesignable

58
推荐指数
5
解决办法
3万
查看次数

IBInspectable创建下拉列表和更好的组织

简而言之,我想创建一个@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)

swift xcode6 ibdesignable

32
推荐指数
3
解决办法
9904
查看次数

IB Designables:无法呈现和更新自动布局状态

我有一个自定义视图(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

  • 添加了UIButton并设置了约束
  • 设置文件所有者: UserView

故事板

我添加了一个UIView Bar Button Item并分配了UserView类,但没有渲染,我得到以下构建错误:

错误:IB Designables:无法呈现和更新FoodViewController(bR3-Kz-wX7)的自动布局状态:代理引发了异常.

我目前的环境:Xcode 9,Swift 4

xcode interface-builder ios swift ibdesignable

30
推荐指数
5
解决办法
3万
查看次数

IBDesignable View渲染超时

从第一个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)

xcode rendering ios ibdesignable

25
推荐指数
2
解决办法
9855
查看次数

无法在Interface Builder中加载IBDesignable xib

我有一个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)

xib ios swift ibdesignable

22
推荐指数
3
解决办法
5838
查看次数

添加到测试目标时的IBDesignable错误

我有一个简单的UIButton子类,IBDesignableIBInspectablevar 实现:

@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 …

xcode ios xctest swift ibdesignable

21
推荐指数
2
解决办法
1万
查看次数

从pod依赖项中使用IB_DESIGNABLE实时渲染自定义组件

IB_DESIGNABLE在pod中使用时遇到了一些困难.

我创建了一个自定义视图,我将其标记为IB_DESIGNABLE并创建了一个使用它的示例项目.到目前为止没问题.

将该自定义视图添加为pod依赖项时会出现此问题.虽然项目已成功构建和运行,但在打开使用自定义视图的故事板时会出现错误.实时渲染过程启动并尝试在"界面"构建器中显示实时视图但它失败并显示以下错误:

在此输入图像描述

这太糟糕了,因为我们失去了实时渲染,在我看来,这是Xcode 6的最佳功能之一.

  • Cocoapods宝石版:0.34.4
  • Xcode版本:6.1(6A1052d)

我尝试过使用其他项目IB_DESIGNABLE并拥有podspec:

  1. https://github.com/Eddpt/EAColourfulProgressView(类别:EAColourfulProgressView)
  2. https://github.com/hayashi311/HRButton(类别:HRButton)
  3. https://github.com/Estimote/iOS-Indoor-SDK(类别:ESTIndoorLocationView)

其他人在Estimote中遇到了同样的问题- 室内位置错误,但所描述的解决方案意味着失去了实时渲染功能.

有没有人能够IB_DESIGNABLE通过Cocoapods 使用组件?

错误:"无法从路径加载可设计项(null)"

objective-c ios xcode6 ibdesignable

21
推荐指数
1
解决办法
4420
查看次数

IBDesignable构建失败

我有创建IBDesignableIBInspectable自定义类,为视图提供阴影和角半径

但是当我分配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)

xcode ios swift ibdesignable ibinspectable

20
推荐指数
4
解决办法
1万
查看次数