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

制作公司网站设计手绘设计公司网站模板

制作公司网站设计手绘,设计公司网站模板,怎么才能百度做网站,网站怎么做分享链接地址SheetInfoCell代码中,执行iconView.show(info.picurl) 时,若采用kf.indicatorType .activity,则会产生ui页面混乱,如果不使用这个加载动画,则不会产生。 与此同时,对于发现页面,是否使用加载动…

SheetInfoCell代码中,执行iconView.show(info.picurl) 时,若采用kf.indicatorType = .activity,则会产生ui页面混乱,如果不使用这个加载动画,则不会产生。
与此同时,对于发现页面,是否使用加载动画,则都不会产生ui混乱。
对于SheetInfoCell ,产生bug的具体表现为,BaseTableViewCell 中创建的container 的高度 在设置其高度自适应并且重写了自动计算高度的情况下,大于其父视图contentView。
父视图contentView的高度始终为 44 。

//
//  SheetInfoCell.swift
//  myMusic
//  歌单详情 歌单信息cell
//  Created by Unlimited_z on 2025/3/4.
//import UIKit
import TangramKitclass SheetInfoCell: BaseTableViewCell {static let NAME = "SheetInfoCell"var iconView:UIImageView!override func initViews() {super.initViews()container.tg_padding = UIEdgeInsets(top: PADDING_OUTER, left: PADDING_OUTER, bottom: PADDING_LARGE2, right: PADDING_OUTER)container.tg_space = PADDING_LARGE2container.tg_height.equal(300)container.backgroundColor = .clear//水平容器let orientationContainer = ViewFactoryUtil.orientationContainer()orientationContainer.tg_space = PADDING_OUTERorientationContainer.tg_gravity = TGGravity.vert.centerorientationContainer.tg_padding = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: PADDING_SMALL)container.addSubview(orientationContainer)//图标iconView = UIImageView()iconView.tg_width.equal(120)iconView.tg_height.equal(120)iconView.clipsToBounds = trueiconView.image = R.image.placeholder()iconView.smallCorner()iconView.contentMode = .scaleAspectFillorientationContainer.addSubview(iconView)//右侧容器let rightContainer = TGLinearLayout(.vert)rightContainer.tg_width.equal(.fill)rightContainer.tg_height.equal(.wrap)rightContainer.tg_space = PADDING_SMALLorientationContainer.addSubview(rightContainer)//标题rightContainer.addSubview(self.titleView)//用户容器let userContainer = ViewFactoryUtil.orientationContainer()userContainer.tg_space = PADDING_SMALLuserContainer.tg_gravity = TGGravity.vert.centerrightContainer.addSubview(userContainer)userContainer.addSubview(self.avatarView)userContainer.addSubview(self.nicknameView)//详情容器let detailContainer = ViewFactoryUtil.orientationContainer()//类似paddingTopdetailContainer.tg_top.equal(PADDING_MEDDLE)detailContainer.tg_space = PADDING_SMALLuserContainer.tg_gravity = TGGravity.vert.centerrightContainer.addSubview(detailContainer)detailContainer.addSubview(self.detailView)detailContainer.addSubview(ViewFactoryUtil.moreIconView())//快捷按钮容器let buttonContainer = ViewFactoryUtil.orientationContainer()buttonContainer.corner(23)buttonContainer.tg_horzMargin(PADDING_LARGE2)buttonContainer.tg_height.equal(46)container.addSubview(buttonContainer)buttonContainer.addSubview(self.collectCountView)buttonContainer.addSubview(ViewFactoryUtil.smallVerticalDivider())buttonContainer.addSubview(self.commentCountView)buttonContainer.addSubview(ViewFactoryUtil.smallVerticalDivider())buttonContainer.addSubview(self.shareCountView)}func bind(_ data: PlaylistInfo) {let info = dataiconView.show(info.picurl)titleView.text = info.title// 创建者信息if let creator = info.creator {
//                avatarView.show(creator.headurl)nicknameView.text = creator.nick}detailView.text = info.desc// 由于 MusicResponse 没有这些计数,可以显示歌曲数量collectCountView.setTitle("\(info.songnum)", for: .normal)commentCountView.setTitle("0", for: .normal)  // 或者隐藏}override func getContainerOrientation() -> TGOrientation {return .vert}lazy var titleView: UILabel = {let r = UILabel()r.tg_width.equal(.fill)r.tg_height.equal(.wrap)r.numberOfLines = 2r.font = UIFont.systemFont(ofSize: TEXT_LARGE2)r.textColor = .whitereturn r}()lazy var avatarView: UIImageView = {let r = UIImageView()r.tg_width.equal(30)r.tg_height.equal(30)r.contentMode = .scaleAspectFillr.smallCorner()return r}()lazy var nicknameView: UILabel = {let r = UILabel()r.tg_width.equal(.wrap)r.tg_height.equal(.wrap)r.numberOfLines = 1r.font = UIFont.systemFont(ofSize: TEXT_MEDDLE)r.textColor = .whitereturn r}()lazy var detailView: UILabel = {let r = UILabel()r.tg_width.equal(160)r.tg_height.equal(.wrap)r.numberOfLines = 1r.font = UIFont.systemFont(ofSize: TEXT_MEDDLE)r.textColor = .whitereturn r}()lazy var collectCountView: QMUIButton = {let r = ViewFactoryUtil.secoundButton(icon: R.image.search()!, title: "0")r.backgroundColor = .whitereturn r}()lazy var commentCountView: QMUIButton = {let r = ViewFactoryUtil.secoundButton(icon: R.image.search()!, title: "0")r.backgroundColor = .whitereturn r}()lazy var shareCountView: QMUIButton = {let r = ViewFactoryUtil.secoundButton(icon: R.image.search()!, title: "0")r.backgroundColor = .whitereturn r}()}
//
//  File.swift
//  myMusic
//  Kingfisher显示图片扩展
//  Created by Unlimited_z on 2025/3/5.
//import UIKit//图片加载
import Kingfisherextension UIImageView{/// 显示头像/// - Parameter data: <#data description#>func showAvatar(_ data:String?) {show(data, "DefaultAvatar")}/// 显示网络图片/// - Parameters:///   - view: <#view description#>///   - data: <#data description#>///   - defaultRes: <#defaultRes description#>func show(_ data:String?,_ defaultImage:String="Placeholder") {if SuperStringUtil.isBlank(data) {//空//显示默认图片image = UIImage(named: defaultImage)} else {var newData:String!if data!.starts(with: "http") {newData = data} else {newData = data?.absoluteUri()}showFull(newData)}}/// 显示绝对路径/// - Parameter data: <#data description#>func showFull(_ data: String) {
//        kf.indicatorType = .activitykf.setImage(with: URL(string: data))}/// 显示本地图片/// - Parameters:///   - view: <#view description#>///   - data: <#data description#>///   - defaultRes: <#defaultRes description#>func showLocal(_ data: String?, _ defaultImage: String = "Placeholder") {if (SuperStringUtil.isBlank(data)) {//空//显示默认图片self.image = UIImage(named: defaultImage)} else {kf.indicatorType = .activitylet url = URL(fileURLWithPath: data!)let provider = LocalFileImageDataProvider(fileURL: url)kf.setImage(with: provider)}}
}
//
//  BaseTableViewCell.swift
//  myMusic
// 简化自定义单元格的开发流程
//  Created by Unlimited_z on 2025/2/17.
//import UIKit//提供类似Android中更高层级布局框架
import TangramKitclass BaseTableViewCell: UITableViewCell {//对于需要动态评估高度的UITableViewCell来说可以把布局视图暴露出来。用于高度评估和边界线处理。以及事件处理的设置。var container:TGBaseLayout!override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {super.init(style: style, reuseIdentifier: reuseIdentifier)innerInit()}required init?(coder: NSCoder) {super.init(coder: coder)innerInit()}func innerInit() {initViews()initDatum()initListeners()}/// 找控件func initViews() {//背景透明backgroundColor = .clearcontentView.backgroundColor = .clear//去掉默认的选中颜色selectionStyle = .none//根容器container = TGLinearLayout(getContainerOrientation())container.tg_width.equal(.fill)container.tg_height.equal(.wrap)container.tg_space = PADDING_MEDDLEcontentView.addSubview(container)}/// 设置数据func initDatum() {}/// 设置监听器func initListeners()  {}/// 获取根容器布局方向func getContainerOrientation() -> TGOrientation {return .horz}/// 使用TangramKit后,让item自动计算高度,要重写该方法/// - Parameters:///   - targetSize: <#targetSize description#>///   - horizontalFittingPriority: <#horizontalFittingPriority description#>///   - verticalFittingPriority: <#verticalFittingPriority description#>/// - Returns: <#description#>override func systemLayoutSizeFitting(_ targetSize: CGSize, withHorizontalFittingPriority horizontalFittingPriority: UILayoutPriority, verticalFittingPriority: UILayoutPriority) -> CGSize {//        let size = container.systemLayoutSizeFitting(targetSize)
//        print("Calculated size: \(size)") // 方便调试return self.container.systemLayoutSizeFitting(targetSize)}
}

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/wzjs/16134.html

相关文章:

  • 上海网站设计公司排行榜制作网站需要什么技术
  • 建网站的公司德阳建网站的公司品牌营销策划案例ppt
  • wordpress 5.5客户端如何做关键词优化
  • 单位网站建设工作总结试分析网站推广和优化的原因
  • 黄江网站仿做百度网页制作
  • 哪里学网站建设与管理怎么推广app
  • 网页浏览历史记录在哪强强seo博客
  • 亳州企业网站建设seo工具下载
  • 重庆网站建设有限公司推广app是什么工作
  • 虚拟空间做网站2345电脑版网址导航
  • 论坛网站开发2345网址导航官网官方电脑版下载
  • b2b网站特点快照网站
  • 佛山专业的做网站自动点击器
  • linux做网站要求seo外链优化
  • 因网站建设关闭的公告网络运营和网络营销的区别
  • 网站建设费用怎么记账广州最新重大新闻
  • 秦皇岛网站制作报价网站百度
  • 北京全包圆装修公司好不好百度优化大师
  • wordpress推荐管理福州seo推广公司
  • php 网站开发收费市场营销活动策划方案
  • jtbc网站内容管理系统网站开发教程
  • 适合女生做的网站主题网络营销的方式包括
  • 南昌网站建设方案报价网络营销就业前景和薪水
  • 学院网站建设规划线下引流的八种推广方式
  • 高中生做那个的网站链接制作
  • 进入网站前如何做环境检测口碑营销的概念是什么
  • 长沙做手机网站建设seo优化关键词放多少合适
  • wordpress可以关闭不南昌seo营销
  • 网站维护 一年关键词排名优化官网
  • 地方招聘网站如何做推广竞价sem托管