iOS8新特性IBDesignable

Xcode8.1中@IBDesignable以及@IBInspectable不能自动刷新的解决办法 Xcode中的@IBDesignable和@IBInspectable关键字出来也有一段时间了,目的是当用户改变View属性时InterfaceBuilder的界面里可以得到即时刷新反馈.这无疑对于App界面的调整带来很多方便.不过网上很多童鞋都会抱怨使用时会出现或多或少的问题,不要着急,就让本猫带领大家来看看到底该怎么使用这两个关键字. ;)官方对这两个关键字(属性)是这么说的:"Live Ren 阅读详情

在OC和Swift中使用IBDesignable/IBInspectable

iOS8新特性IBDesignable/IBInspectable,可以直接在XIB或者Storyboard中直接,设置UI类的属性。
例如:UIView.layer.borderWidth、borderColor、cornerRadius这些属性在XIB上是不能直接设置的,但是IBDesignable/IBInspectable,利用运行时机制,就可以把这些属性映射到XIB上了,同时我们UI类的自定义属性也可以映射上去。关于过多的解释我就不多说了可以看看Nate Cook撰写的。

以UIView的子类为例:

Swift IBDesignable/IBInspectable

首先我们得建一个ViewSwift类,View继承自UIView,选择Swift语言。

@IBDesignable
class View: UIView {    
    @IBInspectable var cornerRadius: CGFloat = 0.0 {
        didSet {
            layer.cornerRadius = cornerRadius
            layer.masksToBounds = true
        }
    }

    @IBInspectable var borderColor: UIColor = UIColor() {
        didSet {
            layer.borderColor = borderColor.CGColor
        }
    }

    @IBInspectable var borderWidth: CGFloat = 0.0 {
        didSet {
            layer.borderWidth = borderWidth
        }
    }
}

然后在XIB或Storyboard里面,拖一个UIView上去,把class改成自己定义的View

然后点击旁边的属性编辑,就可以看到我们动态加载上去的属性,直接修改就可以了,XIB上的View也会跟随变化。

我们就可以看到一个UIView的子类变成了这样

Objective-C IBDesignable/IBInspectable

建一个ViewOC类,ViewOC继承自UIView,选择Objective-C语言,在.h里面声明属性

@property (nonatomic, assign)IBInspectable CGFloat cornerRadius;
@property (nonatomic, assign)IBInspectable CGFloat bwidth;
@property (nonatomic, assign)IBInspectable UIColor *bcolor;

注意:IBInspectable修饰的位置。

然后再.m文件里面,@implementation前面用IB_DESIGNABLE修饰。

IB_DESIGNABLE
@implementation ViewOC

然后再set方法里面去赋值就OK了,如下:

- (void)setCornerRadius:(CGFloat)cornerRadius{
    _cornerRadius = cornerRadius;
    self.layer.cornerRadius  = _cornerRadius;
    self.layer.masksToBounds = YES;
}

- (void)setBcolor:(UIColor *)bcolor{
    _bcolor = bcolor;
    self.layer.borderColor = _bcolor.CGColor;
}

- (void)setBwidth:(CGFloat)bwidth {
    _bwidth = bwidth;
    self.layer.borderWidth = _bwidth;
}

效果跟上面Swift是一样的,如果有疑问和建议,欢迎指导和提问。


Swift属性实践与应用指南 本文还有配套的精品资源,点击获取 简介:Swift中的属性(Attributes)提供了类型、变量、常量、函数等的元数据信息,影响编译器行为,优化代码,并为工具如Xcode的Interface Builder提供信息。项目“SwiftyAttributePractice”详细展示了Swift属性的实际应用,包括 @IBOutlet 和 @IBActio... 阅读详情

相关推荐

如何利用东南大学齿轮箱数据集进行故障诊断?从数据采集到模型训练全流程解析

本文详细解析如何利用东南大学齿轮箱数据集进行故障诊断,涵盖从数据采集到模型训练的全流程。通过信号预处理、特征工程构建及多种机器学习模型对比,帮助开发者高效实现工业设备健康管理。特别适合希望将AI技术应用于工业场景的Python开发者。

m2n3b4v5c6的博客 377

Swift中@IBDesignable/@IBInspectable的使用

IB可视化属性调节视图-@IBDesignable/@IBInspectable的使用 在工程中新建一个swift类(继承UIView),将它与某个view关联起来。 在文件中添加下面的代码 //可以用于画圆 import UIKit /// 学习在IB中直接设置属性,并且实时改变(学习来源于segmentFault的在OC和swift中使用IBDsignable/IBInsepecta

小桥流水哗啦啦,iOS Coder 哒哒哒 4509

Waymo数据集里的隐藏彩蛋:5个激光雷达数据融合实战(附Python代码)

本文深入解析Waymo数据集中5个激光雷达的数据融合技术,提供Python实战代码,帮助开发者掌握多传感器协同工作的关键方法。通过时间同步、坐标转换和运动补偿等技术,实现高精度3D场景重建,提升自动驾驶系统的环境感知能力。

weixin_30399821的博客 81

IOS开发使用@IBInspectable给控件添加额外属性

如何优雅地在Storyboard中设置圆角 项目中经常遇到一些设计使用圆角,不得不说这样的设计经常能够为App的视图润色不少! 通常做法 对于代码党来说,很简单的加上一行代码就能够搞定: view.layer.cornerRadius = 5 对于 Storyboard 狂魔,一般情况下,很多人会先把视图拉一个 IBOutlet 然后再到 awakeFrome

qlt445的专栏 2523

ThunderScope开源示波器

4CH,1GSa/S 开源示波器。前端很简洁,BUF802+LMH6518,ADC是HMCAD1511,用Xilinx A7 FPGA进行控制,数据通过PCIE总线传输到上位机处理。目前这个项目已经被挂到了Xilinx官网,强。设计日志:https://hackaday.io/project/180090-thunderscope开源地址:https://github.com/EEVengers/ThunderScope。

leida_wt的博客 8191

hpm6750evk2开发板(四)TCP回送(1000M网口)

再接下来我们修改代码,先找到配置网速的地方,肯定是在enet的初始化函数里面,我们一个函数一个函数找,也可以用单步调试一步一步找,结果发现是在enet_init函数里面调用的rtl8211_basic_mode_default_config函数配置网速的,我们把enet_phy_port_speed_100mbps改为enet_phy_port_speed_1000mbps,重新编译运行试试。首先我们复制一份lwip_tcpecho代码,重命名为lwip_tcpecho_RGMII,如下图所示。

Silas1750的博客 921

Swift - @IBDesignable和@IBInspectable

前言: 用storyboard/xib搞项目时,一些属性在Interface Builder上时无法设置,比如常用的layer的一些属性cornerRadius,borderColor等 (有时没必须的关联属性 用代码去设置)。估计大家也都想省事,能Interface Builder解决的绝不代码(特殊情况外),搞个复杂点的界面加上约束条件,我x还不疯了 时间都玩它了。但是wwdc2014其...

weixin_30544657的博客 189

【3DSlicer】基于心脏ct影像重建3d模型及导出

软件:3DSlicer4.11 基于心脏ct影像重建3d模型

Liuees的博客 1万+

xib可视化自定义变量

@IBInspectable 让类的支持kvo的属性可以在Xib里面进行设置@IBDesignable 让xib里面的设置立即可见 范例 @IBDesignable class PanaStackView: UIView { @IBInspectable var cornerRa:CGFloat{ set{ self.layer.corner

PandaDevelop的博客 465

基于混合智能框架的景区边界范围预测与补全系统

摘要 本文提出一种混合智能框架,结合随机森林模型和GIS规则约束,解决景区边界缺失问题。系统基于Python和ArcGIS平台,利用多源地理空间数据训练随机森林分类器预测景区范围,并集成地形、水文、道路等GIS规则进行优化。实验结果表明,该方法能有效预测15000个景区的边界,精度优于单一模型。创新点在于: 1)数据驱动与知识驱动相结合的混合智能范式; 2)面向全国尺度的大规模边界补全; 3)提供完整的Python+ArcGIS实现方案。该系统为景区精细化管理提供了技术支撑,具有实用价值。

huanghm88的专栏 282

从底层结构开始学习FPGA(7)----进位链CARRY4

进位链CARRY4在FPGA实现加减法运算时扮演了什么角色?

孤独的单刀 1万+

(0058)iOS开发之iOS8新特性IBDesignable的使用

在OC和Swift中使用IBDesignable/IBInspectable iOS8新特性IBDesignable/IBInspectable,可以直接在XIB或者Storyboard中直接,设置UI类的属性。 例如:UIView.layer.borderWidth、borderColor、cornerRadius这些属性在XIB上是不能直接设置的,但是IBDesignable/IBIn

沐雨07的专栏 372

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

在OC和Swift中使用IBDesignable/IBInspectable

iOS8新特性IBDesignable/IBInspectable,可以直接在XIB或者Storyboard中直接,设置UI类的属性。例 如:UIView.layer.borderWidth、borderColor、cornerRadius这些属性在XIB上是不能直接设置的,但是 IBDesignable/IBInspectable,利用运行时机制,就可以把这些属性映射到XIB上...

weixin_30539625的博客 80

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Objective-C(Swift) IBDesignable/IBInspectable

iOS8新特性IBDesignable/IBInspectable,利用运行时机制,可以把属性映射到XIB上了,同时我们UI类的自定义属性也可以映射上去,可以直接在XIB或者Storyboard中设置UI类的属性。Objective-C实例: .h中代码如下@interface ZWView : UIView@property (nonatomic, assign)IBInspectable CG

zww学习笔记 1578

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IBInspectable / IBDesignable可视化控件编程讲解/使用/封装

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33709590的博客 303

[IOS 开发] @IBDesignable @IBInspectable

iOS8新特性IBDesignable/IBInspectable,可以直接在XIB或者Storyboard中直接,设置UI类的属性。 例如:UIView.layer.borderWidth、borderColor、cornerRadius这些属性在XIB上是不能直接设置的,但是IBDesignable/IBInspectable,利用运行时机制,就可以把这些属性映射到XIB上了,同时我们UI类

u010130947的专栏 516

IOS开发—IB_Designable & IBInspectable介绍

引言在Xcode的旧版本中,试图创建一个自定义控件,并不是很容易,因为在IB中,并不能实时预览到你的设计成果,只能在模拟器中测试。对于设计一个单一组件,可能需要花费大量时间。 Xcode6的发布,苹果为开发者构建自定义控件推出了新功能IBDesignable和IBInspectable,允许在IB中实时预览设计成果。很明显,这会给实际开发提升很高效率。IB_Designable常规用法时时渲染的“

Lotheve的私房菜 2931

iOS自定义控件(@IBDesignable与@IBInspectable)

任何一个我们自定义的控件(继承自UIView),在其类声明前加上 @IBDesignable。则当此控件添加到 Interface Builder时,Interface Builder 会在 canvas 上对它进行实时绘制。

幻孤的博客 398

iOS-IBDesignable/IBInspectable动态改变控件属性

转在于 http://www.jianshu.com/p/826027b93706 Xcode7.3,swift2.2 Storyboard凭借其方便直观等优点,已经越来越多用于项目开发中.这里我来介绍一下刚学到的一个技巧. 1.问题来源 IBDemo01.png 当UI设计师设计的界面中有这样的控件,你会怎么做. 1.使用代码 在不允许使用sto

飞翔的熊blabla 1040

关于IB_DESIGNABLE / IBInspectable的那些事

    前言   IB_DESIGNABLE / IBInspectable 这两个关键字是在WWDC 2014年”What’s New in Interface Builder”这个Session里面,用Swift讲过一个例子。也是随着Xcode 6 新加入的关键字。   这两个关键字是用在我们自定义View上的,目前暂时只能用在UIView的子类中所以系统自带的原生的那些控件使...

weixin_33766805的博客 264

Halfrost-Field项目解析:深入理解iOS中的IB_DESIGNABLE与IBInspectable

Halfrost-Field项目解析:深入理解iOS中的IB_DESIGNABLE与IBInspectable 【免费下载链接】Halfrost-Field ✍???? 这里是写博客的地方 —— Halfrost-Field 冰霜之地 ...

gitblog_00176的博客 401

iOS @IBDesignable和@IBInspectable

http://www.tuicool.com/articles/JVNRBjY @IBDesignable和@IBInspectable 时间2014-10-08 11:02:03优快云博客 原文http://blog.csdn.net/tounaobun/article/details/39890667 主题Interface BuilderObjective-...

weixin_30906701的博客 65
上一篇: HEXO+Github,搭建自己的博客,最新版HEXO配置
下一篇: iPad 多屏处理
潘柏信
博客等级 码龄11年 3粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值