iOS单元格高度计算
// Created by mac on 16/6/29.
// Copyright © 2016年 zcc. All rights reserved.
// #import "HotCellHeight.h"
#import "UIViewExt.h"
#import "CommonalityH.h"
#define kTextWidth (kScreenWidth-20) //文字宽度
#define GAP 5 @implementation HotCellHeight
- (void)setHotModel:(HotModel *)hotModel{ _hotModel = hotModel;
//计算高度 [self countHeight]; }
#pragma mark 计算高度
- (void)countHeight{
CGFloat audiofloat = 0;
CGFloat imgfloat = 0;
CGFloat countHeight = 0;
_Height = 0; //计算头像 位置 _avatarFrame = CGRectMake(GAP, GAP, 30, 30);
countHeight += _avatarFrame.size.height + GAP * 2 ;
//用户名称位置
_user_NameFrame = CGRectMake(CGRectGetMaxX(_avatarFrame)+GAP, GAP, kScreenWidth - 30 - GAP * 2, 30); //计算线的位置 _wireFrame = CGRectMake(GAP, CGRectGetMaxY(_avatarFrame) + GAP,kScreenWidth - GAP*2 , 6); countHeight += _wireFrame.size.height + GAP; //计算图片位置
if(_hotModel.post_img == nil){ imgfloat = CGRectGetMaxY(_wireFrame);
}else{ _imgFrame = CGRectMake(GAP, CGRectGetMaxY(_wireFrame)+ GAP, kScreenWidth - GAP*2 ,kScreenWidth - GAP*2); countHeight += _imgFrame.size.height + GAP; imgfloat = CGRectGetMaxY(_imgFrame);
}
//计算文本位置 NSDictionary *dic = @{
NSFontAttributeName :
[UIFont fontWithName:@"FZLTCXHJW--GB1-0" size:15]
,
NSForegroundColorAttributeName :[UIColor blackColor] };
CGSize maximumLabelSize = CGSizeMake(kTextWidth, 120);
CGRect zFrame = [_hotModel.content boundingRectWithSize:maximumLabelSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil]; _contentFrame = CGRectMake(10, imgfloat + GAP, kTextWidth, zFrame.size.height); countHeight += _contentFrame.size.height + GAP ; //计算歌曲(背景)区域图片 if(_hotModel.post_audio == nil){ audiofloat = CGRectGetMaxY(_contentFrame); }else{ _backAudioFrame = CGRectMake(GAP, CGRectGetMaxY(_contentFrame)+ GAP, kScreenWidth-GAP*2, 36); //计算歌曲图片
_audioFrame = CGRectMake(GAP+3, CGRectGetMinY(_backAudioFrame)+3, 30, 30); audiofloat = CGRectGetMaxY(_backAudioFrame);
countHeight += _backAudioFrame.size.height + GAP ; //歌曲名称位置
_song_nameFrame = CGRectMake(CGRectGetMaxX(_audioFrame)+3, CGRectGetMinY(_backAudioFrame)+3,kScreenWidth - GAP + 3 + 3 + 30, 15); _artistFrame = CGRectMake(CGRectGetMaxX(_audioFrame)+3, CGRectGetMinY(_backAudioFrame)+3 + 15, kScreenWidth - GAP + 3 + 3 + 30, 15);
_countSongFrame = CGRectMake(CGRectGetMaxX(_backAudioFrame) - 40, CGRectGetMinY(_backAudioFrame)+3, 40, 30); _buttonLucencyFrame = _backAudioFrame;
} //计算更新时间位置 _downFrame = CGRectMake(GAP*2, audiofloat + GAP, kScreenWidth/2, 20); countHeight += _downFrame.size.height + GAP * 2; //背景大小位置 _backFrame = CGRectMake(0, 0, kScreenWidth, countHeight); _Height = countHeight; //不计算高度 计算位置 CGFloat wfloat = kScreenWidth/7;
//点赞图片位置
_vote_countImgFrame = CGRectMake(wfloat * 4.0 , audiofloat + GAP, 20, 20);
//评论图片
_comment_countImgFrame = CGRectMake(wfloat * 5.0 , audiofloat + GAP, 20, 20);
//分享图片
_shareImgFrame = CGRectMake(wfloat * 6.0 +10 , audiofloat + GAP, 20, 20);
//点赞数量
_vote_countFrame = CGRectMake(wfloat * 4.0 +25 , audiofloat + GAP, 30, 20);
//评论数量
_comment_countFrame = CGRectMake(wfloat * 5.0 +25 , audiofloat + GAP, 30, 20);
}
@end
.h
//
// Created by mac on 16/6/29.
// Copyright © 2016年 zcc. All rights reserved.
// #import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "HotModel.h"
@interface HotCellHeight : NSObject
@property(nonatomic,assign)CGRect avatarFrame;//头像
@property(nonatomic,assign)CGRect wireFrame;//线
@property(nonatomic,assign)CGRect imgFrame;//
@property(nonatomic,assign)CGRect contentFrame;//文本
@property(nonatomic,assign)CGRect audioFrame;//音乐图片高度
@property(nonatomic,assign)CGRect backAudioFrame;//区域音乐图片高度
@property(nonatomic,assign)CGRect downFrame;//更新时间
@property(nonatomic,assign)CGRect backFrame;//背景图片大小 @property(nonatomic,assign)CGFloat Height;//单元格总高度
@property(nonatomic,copy)HotModel *hotModel;//数据 @property(nonatomic,assign)CGRect user_NameFrame;//用户名
@property(nonatomic,assign)CGRect song_nameFrame;//歌名
@property(nonatomic,assign)CGRect artistFrame;//艺术家名称
@property(nonatomic,assign)CGRect countSongFrame;//歌曲数量
@property(nonatomic,assign)CGRect vote_countImgFrame;//点赞图片
@property(nonatomic,assign)CGRect comment_countImgFrame;//评论图片
@property(nonatomic,assign)CGRect shareImgFrame;//分享
@property(nonatomic,assign)CGRect vote_countFrame;//点赞数量
@property(nonatomic,assign)CGRect comment_countFrame;//评论数量 @property(nonatomic,assign)CGRect buttonLucencyFrame;//透明button的大小
@end
iOS单元格高度计算的更多相关文章
- iOS开发——Autolayout下动态调整单元格高度
情景描述: 有时候我们希望更新某一个单元格的数据,通常的做法是使用reloadData方法更新整个单元格.但是对一些情况是不适用的或者说实现起来比较麻烦.比如说这种简单的"点开"一 ...
- 【POI xls Java map】使用POI处理xls 抽取出异常信息 --java1.8Group by ---map迭代 -- 设置单元格高度
代码处理逻辑: 代码流程: 1.首先需要创建一个实体 用来存储 相关信息 package com.sxd.test.unusualName; public class NameEntity { pri ...
- [Xcode 实际操作]五、使用表格-(2)设置UITableView单元格高度
目录:[Swift]Xcode实际操作 本文将演示如何制作一个自定义行高的表格视图 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit //首 ...
- CSS开发技巧(二):表格合并边框后的单元格宽度计算
前言: 分离边框模型和合并边框模型是表格的两种模型,它通过以下属性确定: border-collapse:separate(默认值) | collapse | inherit 当采用分离边框模型时,表 ...
- Apach POI 如何拿到有公式的单元格,计算结果
public static void getFormulaCellValue(){ FileInputStream fis = new FileInputStream("c:/temp/te ...
- NPOI 图片在单元格等比缩放且居中显示
NPOI导出的图片默认是在单元格左上方,这使得图片在单元格显示得很难看.居中,且等比缩放,才是图片在单元格上的完美展示. /// <summary> /// 图片在单元格等比缩放居中显示 ...
- Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行
Aspose.Cells 首次使用,用到模版填充数据,合并单元格,换行 模版格式,图格式是最简单的格式,但实际效果不是这种,实际效果图如图2 图2 ,注意看红色部分,一对一是正常的,但是有一对多的订单 ...
- 优化UITableViewCell高度计算的那些事
优化UITableViewCell高度计算的那些事 我是前言 这篇文章是我和我们团队最近对 UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化 ...
- 优化UITableViewCell高度计算的那些事(RunLoop)
这篇总结你可以读到: UITableView高度计算和估算的机制 不同iOS系统在高度计算上的差异 iOS8 self-sizing cell UITableView+FDTemplateLayout ...
随机推荐
- iOS 实例变量修饰符
@public 可以在其他类中访问被@public修饰的成员变量 可以在本类中访问被@public修饰的成员变量 可以在子类中访问fl中被@public修饰的成员变量 @private 不可以在其他类 ...
- U盘写保护,不能被格式化
有时故障不在U盘本身,而在那台机器上.这时对U盘进行格式化.转换格式等操作都不会起作用. 解决步骤: 1.开始-->运行-->regedit-->确定,进入注册表. 2.查看HKEY ...
- 关于chart.js 设置canvas的宽度为父级元素的宽度的百分百 以及 X轴上面刻度数据太多如何处理
今天在做一个数据统计的界面的时候,需要做折线统计图,在网上找了一圈发现数据统计的插件还是不少的,本着轻量级的的原则选择了Chart.js,后来在做的过程中便遇到两个问题,以此记录下来,和刚刚接触前端的 ...
- Linux下的DOS攻击
Linux下的DOS攻击 DOS是Denial of service的简称,即拒绝服务,造成Dos攻击行为被称为Dos攻击,其目的是使计算机或网络无法提供正常的服务.最常见的Dos攻击有计算机带宽攻击 ...
- oh my zsh
简单使用oh my zsh 安装oh my Zsh 安装zsh 安装curl或者wget 下载并安装oh my zsh: curl 下载方式curl -L https://raw.github.com ...
- access基本操作(c#操作,远程连接,执行sql,加密,备份)
前言 最近项目用到了access,是的就是access,工作在桌面型的小数据库应用还是会用到的,如果你确定永远不会遇到access的操作,请忽略此篇文章 1.vs配置access 既然是数据库,就少不 ...
- 何为SSH协议?
该文来自百度百科,自我收藏. SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SSH ...
- Android中surface,surfaceview,sufaceholder以及surface客户端的关系
这里以照相机camera功能的实现来解释surface,surfaceview,sufaceholder以及surface客户端(本例子中指的是camera)的关系,surface及其client(客 ...
- Flume(2)组件概述与列表
上一节搭建了flume的简单运行环境,并提供了一个基于netcat的演示.这一节继续对flume的整个流程进行进一步的说明. 一.flume的基本架构图: 下面这个图基本说明了flume的作用,以及f ...
- linux中redis的php扩展安装
PHP中的扩展一般都是在安装环境的时候就已经装好了的.但是有的一些扩展在后期想要加上去的话也是可以的.php支持后期安装扩展. 想要安装扩展就需要先去下载安装扩展所需要的扩展源码包.autoconf. ...