当前位置: 首页 > news >正文

个人网站 怎么备案绍兴seo排名公司

个人网站 怎么备案,绍兴seo排名公司,整站优化昌吉可以吗?,wordpress首页提示本节将通过纯代码进行封装自定义View控件,以常用的设置页的item为例,实现UI效果如下: 1、创建SettingView继承自UIView import UIKitclass SettingView: UIView {} 2、重写 init() 和 required init?(coder: NSCoder) 方法 纯代码创建Set…

本节将通过纯代码进行封装自定义View控件,以常用的设置页的item为例,实现UI效果如下:

1、创建SettingView继承自UIView

import UIKitclass SettingView: UIView {}

2、重写 init() 和 required init?(coder: NSCoder) 方法

纯代码创建SettingView会执行到init(),而required init?(coder: NSCoder)则是用于可视化布局时,所以两个方法都必须重写。

import UIKitclass SettingView: UIView {init() {super.init(frame: CGRect.zero)innerInit()}required init?(coder: NSCoder) {super.init(coder: coder)innerInit()}func innerInit() {}}

3、约束设置

当视图加入父视图时,才能进行约束设置,故需要重写 didMoveToSuperview(),并在didMoveToSuperview()方法里面编写约束设置。

import UIKitclass SettingView: UIView {init() {super.init(frame: CGRect.zero)innerInit()}required init?(coder: NSCoder) {super.init(coder: coder)innerInit()}func innerInit() {}/// 当视图加入父视图时 / 当视图从父视图移除时调用override func didMoveToSuperview() {super.didMoveToSuperview()//添加约束}
}

4、完整自定义view代码

//
//  SettingView.swift
//  SnapKitTest
//
//  Created by jin on 2024/8/13.
//import UIKitclass SettingView: UIView {init() {super.init(frame: CGRect.zero)innerInit()}required init?(coder: NSCoder) {super.init(coder: coder)innerInit()}func innerInit(){backgroundColor = .whiteaddSubview(leftImgView)addSubview(rightImgView)addSubview(titleView)}/// 当视图加入父视图时 / 当视图从父视图移除时调用override func didMoveToSuperview() {super.didMoveToSuperview()//添加约束leftImgView.snp.makeConstraints { make inmake.left.equalToSuperview().offset(16)make.centerY.equalToSuperview()make.width.equalTo(20)make.height.equalTo(20)}titleView.snp.makeConstraints { make inmake.left.equalTo(leftImgView.snp.right).offset(16)make.centerY.equalToSuperview()}rightImgView.snp.makeConstraints { make inmake.right.equalToSuperview().offset(-16)make.centerY.equalToSuperview()make.width.equalTo(20)make.height.equalTo(20)}}///左侧图标lazy var leftImgView: UIImageView = {let imageView = UIImageView()imageView.image = UIImage(named: "Setting")return imageView}()///右侧图标lazy var rightImgView: UIImageView = {let imageView = UIImageView()imageView.image = UIImage(named: "Arrow")return imageView}()///标题lazy var titleView: UILabel = {let textView = UILabel()textView.text = "标题"return textView}()
}

5、使用自定义View

view.addSubview(settingView)//添加约束,只有添加当前控件,内部的约束在控件内部就添加了
settingView.snp.makeConstraints { make inmake.top.equalTo(view.safeAreaLayoutGuide.snp.top)make.width.equalToSuperview()make.height.equalTo(55)
}lazy var settingView: SettingView = {let view = SettingView()view.titleView.text = "设置"view.leftImgView.image = UIImage(named: "Setting")return view
}()

6、设置View点击事件

@objc func onSettingClick(recognizer:UITapGestureRecognizer) {print("onSettingClick")
}lazy var settingView: SettingView = {let view = SettingView()view.titleView.text = "设置"view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(onSettingClick(recognizer:))))return view
}()

7、使用自定义View的完整代码

//
//  SettingController.swift
//  SnapKitTest
//
//  Created by jin on 2024/8/13.
//import UIKitclass SettingController: UIViewController {override func viewDidLoad() {super.viewDidLoad()view.backgroundColor = .systemGroupedBackgroundtitle = "设置界面"view.addSubview(settingView)view.addSubview(collectView)//添加约束,只有添加当前控件,内部的约束在控件内部就添加了settingView.snp.makeConstraints { make inmake.top.equalTo(view.safeAreaLayoutGuide.snp.top)make.width.equalToSuperview()make.height.equalTo(55)}collectView.snp.makeConstraints { make inmake.top.equalTo(settingView.snp.bottom).offset(1)make.width.equalToSuperview()make.height.equalTo(55)}}@objc func onSettingClick(recognizer:UITapGestureRecognizer) {print("onSettingClick")}@objc func onCollectClick(recognizer:UITapGestureRecognizer) {print("onCollectClick")}lazy var settingView: SettingView = {let view = SettingView()view.titleView.text = "设置"view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(onSettingClick(recognizer:))))return view}()lazy var collectView: SettingView = {let view = SettingView()view.titleView.text = "收藏"view.leftImgView.image = UIImage(named: "Setting")view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(onCollectClick(recognizer:))))return view}()}

至此,一个简单的纯代码封装自定义View控件便实现了。

http://www.hrbkazy.com/news/6889.html

相关文章:

  • wordpress站点费用互联网广告精准营销
  • 漯河网页制作怎么卸载windows优化大师
  • 南京网站做的好的公司seo查询在线
  • 企业官网模板免费源码青海seo技术培训
  • 网站优化试题网站推广方案
  • 青海做网站多少钱优化方案模板
  • 建网站流程 知乎百度指数平台
  • 2022年企业所得税最新标准seo图片优化的方法
  • 做淘宝要用的网站开鲁视频
  • 十大素材网站seo搜索引擎优化课程总结
  • 网页设计与制作教程课后答案第三版四川企业seo
  • 千博网站管理系统安装免费模板
  • 有没有哪个网站能够做简历网络营销的主要手段和策略
  • 订阅号做影视网站最近时事热点
  • 多网站怎么做seo百度搜索广告推广
  • 牡丹江网页制作公司优化软件
  • icp主体备案号和网站备案号四川整站优化关键词排名
  • 服务好 售后好的网站建设有什么平台可以推广
  • 网站建设制作设计营销公司南宁百度账号人工申诉
  • 网站添加在线支付功能免费企业网站建设流程
  • 深圳网站制作工具域名注册查询工具
  • 上海黑马网站制作国外b站不收费免费2023
  • 免费自己设计房子的软件杭州网络推广网络优化
  • 背景网站建设网络营销专业技能
  • 网站怎么建设模块长春网站建设 4435
  • java做网站开发国外比较开放的社交软件
  • 咸阳做网站的公司企业营销
  • 鸡西网站制作百度ai人工智能
  • 官网整站优化seo排名优化的网站
  • 网站关键词策略开发一个网站的步骤流程