ios中的实现属性显示在图形界面上进行修改的知识点

原创 2015年11月17日 20:39:59

属性能够在Interface Builder的图形化界面进行设置


代码与代码之间的桥梁是两个关键字:IB_DESIGNABLE 和 IBInspectable .

IBInspectable 可以定义动态属性,即为:可以在attribute inspector 面板中看到这个属性。可以将自定义的代码实时渲染到Interface Builder中.

注意:这个类必须是UIView 或者NSView的子类。(即为这个类必须是可以显示在interface building上的)
使用的时候导入相关的类。


相应的代码:

ViewButton.h 文件:

#import <UIKit/UIKit.h>

IB_DESIGNABLE
@interface ViewButton : UIButton

@property (strong, nonatomic) IBInspectable UIColor *borderColor;
@property (copy, nonatomic) IBInspectable NSString *log;

@end

ViewButton.m 文件

ViewButton.m 文件:

#import "ViewButton.h"
//
@implementation ViewButton

- (void)setBorderColor:(UIColor *)borderColor
{
    _borderColor = borderColor;
    self.layer.borderColor = borderColor.CGColor;
    
    //由于默认的button的变现是0.0f,所以会看不见
    if(self.layer.borderWidth ==0)
        self.layer.borderWidth = 1.0f;
}

- (void)setLog:(NSString *)log{
    _log = log;
    NSLog(@"%@",self.log );
}

@end

先关的代码关系截图:

创建的这个类,继承UIButton,并且还有这对关键字的书写位置。


在storyboad中使用的时候:(注意全出来的时候设置)



可以看到自己添加上去的自定义的属性:


运行之后的结果:(可以看到按钮的边框颜色的改变)


经常会出现的问题:

2015-11-17 20:48:58.648 IBInspectable[14596:352430] Failed to set (color) user defined inspected property on (UIButton): [<UIButton 0x7f83baf40cf0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key color.
2015-11-17 20:48:58.649 IBInspectable[14596:352430] Failed to set (borderColor) user defined inspected property on (UIButton): [<UIButton 0x7f83baf40cf0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key borderColor.
2015-11-17 20:48:58.649 IBInspectable[14596:352430] Failed to set (log) user defined inspected property on (UIButton): [<UIButton 0x7f83baf40cf0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key log.
2015-11-17 20:48:58.650 IBInspectable[14596:352430] Failed to set (viewTitleText) user defined inspected property on (UIButton): [<UIButton 0x7f83baf40cf0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key viewTitleText.
2015-11-17 20:48:58.650 IBInspectable[14596:352430] Failed to set (titleColor) user defined inspected property on (UIButton): [<UIButton 0x7f83baf40cf0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key titleColor.

出现这些问题的原因是:我们在增加了这些属性之后,后来在代码中删除掉了,但是还是在UIStoryboard中有所保留。

所以需改掉相应的属性。


相关的操作可以看西面的图:



改了之后的结果:


如果其他的都没有问题,但是我们没有显示结果,有可能我们删除了相关的属性,或者没有添加上相应的属性,同样需要补全属性(如上面改变之后的结果)。
或者重新在上面设置属性就好了,(这样代码运行的时候的都是可以自动加载上去的)

因为删除了相关的设置值之后,我们将会看到我们开始设置的地方时默认的值。也就是没有设置值。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Failed to set () user defined inspected property on (UIButton): [<UIButton 0x7fe5586efeb0> setValue:

Failed to set () user defined inspected property on (UIButton): [ setValue:forUndefinedKey:]: this c...

【iOS开发-107】UISplitViewController:如何取得master和detail控制器,核心在于如何运用代理

【iOS开发-107】UISplitViewController:如何取得master和detail控制器,核心在于如何运用代理...

iOS webSocket之单利简单实现即时通讯

1.pod 下载RACSRWebSocket 2.添加包 Security.framework Foundation.framework CFNetwork.fra...

(总结)Java图形界面编程知识点汇总(待补充)

Java图形界面编程知识点汇总 一:基本概念: @.AWT(Abstract Window Toolkit):     抽象窗口工具包,SUN 公司提供的用于图形界面编程(GUI)的类库。AWT...

黑马程序员之GUI 图形界面的知识点

一、图形用户界面(Graphics User Interface简称GUI)       GUI使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便地向计算机系统发出命 令、启动操作,并...
  • lxl1498
  • lxl1498
  • 2011年08月07日 14:57
  • 244

IOS_图形绘制知识点补充

  • 2015年06月02日 20:33
  • 428B
  • 下载

iOS应用之间跳转 本篇博文将涉及到以下知识点: app应用跳转的原理解析 如何实现两个app应用之间的跳转 如何实现两个app之间跳转到指定界面 二、应用跳转原理 相信从一个应用跳转到另一个应用

本篇博文将涉及到以下知识点: app应用跳转的原理解析如何实现两个app应用之间的跳转如何实现两个app之间跳转到指定界面 二、应用跳转原理 相信从一个应用跳转到另一个应用大家并不陌生,...

菜鸟使用centos之二 -- 修改配置显示图形界面

安装后centos无法正确进入输送形界面,表现为进入后只能看到墙纸,点左键没反应,网上搜索后,以为是显卡驱动出了问题,后来发现右键有内容,才想应该是显示器的设置有问题,于是搜索后发现极可能是分辨率问题...
  • mqmelon
  • mqmelon
  • 2012年12月31日 10:11
  • 1300

XShell+Xmanager实现在XShell中显示远程服务器的图形界面

第一种方法:   你可以使用Xmanager软件,远程安装Oracle软件,Linux操作系统使用字符安装并不影响这种方式的使用。这个方案也可以大大优化你的Linux系统的性能,进而提高你的数据库...

XShell+Xmanager实现在XShell中显示远程服务器的图形界面

三年前利用xshell安装过oracle和weblogic,当时安装很顺利,网上下载了XShell+Xmanager工具,然后很顺利的弹出图形界面就安装成功了,可是最近服务器重做,然后重装oracle...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios中的实现属性显示在图形界面上进行修改的知识点
举报原因:
原因补充:

(最多只允许输入30个字)