使用xib加载View的小技巧

独奏

技术分享|2015-11-19|最后更新: 2023-2-23|
type
status
date
slug
summary
tags
category
icon
password
本人在开发中比较喜欢用 xib 来作布局,通常情况下,我们需要把一些常用的 view 封装成组件来供大伙儿使用。但是这个组件一般只是负责 view 层的展示任务,事件相关的业务逻辑需要转发到相应的 controller 里面去。这里介绍一下本人使用的一种方法。
直接上代码

BaseView 基类

BaseView

MyView 组件

首先建一个 BaseView 的子类,和对应的 xib 文件
MyView.h
在 MyView.xib 中,把 file’s owner 设置为 MyView,同时把 view 的 custom class 设置为 MyView。
接下来就是做关联了: - 关联属性的时候需要把 xib 中的 button 与 view 的 loginButton 关联 - 关联事件的时候需要把 xib 中的 button 的事件与 File's Owner 的 loginAction 关联
这样就做好了一个 MyView 组件了

使用 MyView

在 MyViewController 中我们要加入这个 MyView,可以通过如下方式
首先,让 MyViewController 实现 MyViewActionProtocol 协议
然后在 viewDidLoad 的时候如下方式加入 MyView
这样,view 中的事件处理就可以直接放到 MyViewController 里面去了,但是 view 的渲染我们照样可以在 MyView 中进行。 比如,我要设置 loginButton 的样式,可以在 MyView 里面写如下代码
而且在 MyViewController 中照样可以引用到 MyView 里面的属性

参考