首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

iOS-自定义View的封装

在开发过程中,自定义控件使用的频率非常高,接下来简单对自定义控件做个小结 View的封装 如果一个view内部的子控件比较多,一般会考虑自定义一个view,把它内部的子控件创建封装起来,不让外界看见 外界可以传入对应的数据模型给...view,view拿到模型数据后给内部子控件设置对应的数据 代码封装 新建一个继承UIView的类 在initWithFrame:方法中添加子控件(也可以使用懒加载) 重写模型属性set方法,在set方法中设置模型属性到子控件上...view.imageData = imageData; view.frame = CGRectMake(shopX, shopY, imageW, imageH); [bgView addSubview:view]; xib封装...[NSString stringWithFormat:@"%@",imageData.icon]]; self.label.text = imageData.name; } @end 两种方法封装...而用xib相对于比较死板,但是更简单,更方便 自定义UIView时,如果该View一直一个样式,推荐使用xib,简单方便 而子控件经常随着父控件变化而变化,推荐使用纯代码,灵活多变

17810

基于发布-订阅的原生 JS 插件封装

用原生 JS 封装一个动画插件。效果如下: ? 这个飞驰的小球看起来是不是特有灵性呢?没错,它就是用原生JS实现的。 接下来,就让我们深入细节,体会其中的奥秘。...一、需求分析 封装一个插件,将小球的 DOM 对象作为参数传入,使得小球在鼠标按下和放开后能够运动,在水平方向做匀减速直线运动,初速度为鼠标移开瞬间的速度,在竖直方向的运动类似于自由落体运动。...curT'].forEach(item => { this[item] = null; }); //为按下鼠标绑定事件,事件函数一定要绑定this,在封装过程中...在这里我并不是简单讲讲效果的实现、贴贴代码就过去了,而是带你体验了封装插件的整个过程。有了发布-订阅的场景,理解这个设计思想就更加容易了。...回过头看,比如 DOM2 的事件池机制,vue 的生命周期钩子等等,你就会明白它们为什么要这么设计,原理上和这次封装没有区别,这样一想,很多东西就更加清楚了。

3.1K20
领券