【ios】UITableView中的uitablviewcell在64位下显示重叠问题

问题现象

一个普通的UITableview在iphone5一下显示都没问题,但是在5S以上显示就重叠了,在找到问题之前知道5S以上是64位处理器了

UITableView显示高度的代理函数,经过定位问题发现跟这个有关

  1. - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
  2. {
  3. if (section ==0)
  4. return 80.0f;
  5. else
  6. return 30.0f;
  7. }

类型是CGFloat,而我吧那个写成了float

而这两者的区别是

typedef float CGFloat;// 32-bittypedef double CGFloat;// 64-bit

也就是CGFloat是根据机器位数变化的。所以以后如果跟字长适应的话就应该用CGFloat

时间: 2024-10-12 23:30:04

【ios】UITableView中的uitablviewcell在64位下显示重叠问题的相关文章

iOS开发中WebP格式的64位支持处理

几个月前我们项目中增加了对webp格式的处理,期间遇到了一些问题,这是其中的一个小的记录. 官方下载地址:https://code.google.com/p/webp/downloads/list 对于iOS端,官网上提供了一个webp.framework,但是很可惜,这个framework只支持32位,对于已经强制要求64位支持的iOS来说并不好用,因此我们需要进行一些处理. 首先我们下载其源码,因为iOS支持c和c++,因此可以把源码导入项目中来进行处理,但实际操作时发现编译无法通过,排查后

64位下pwntools中dynELF函数的使用

这几天有同学问我在64位下怎么用这个函数,于是针对同一道题写了个利用dynELF的方法 编译好的程序 http://pan.baidu.com/s/1jImF95O 源码在后面 from pwn import * elf = ELF('./pwn_final') got_write = elf.got['write'] print 'got_write= ' + hex(got_write) call_get_name_func = 0x400966 print 'call_get_name_f

centOS 64位下编译hadoop2.4.1

1. 安装JDK a.      解压jdk [[email protected] software]$ tar -xvzf jdk-7u60-linux-x64.tar.gz b.      设置环境变量 PATH=$PATH:$HOME/bin export JAVA_HOME=/home/bigdata001/BigDataPlatform/jdk1.7.0_60 export JAVA_BIN=$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/li

win7 64位下如何安装配置mysql-5.7.4-m14-winx64

win7 64位下如何安装配置mysql-5.7.4-m14-winx641. mysql-5.7.4-m14-winx64.zip下载 官方网站下载地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.17-winx64.zip 2.解压到D:\mysql.(路径自己指定)3.在D:\mysql\mysql-5.7.4-m14-winx64下新建my.ini配置文件 内容如下: ####################配置文件开始#

@清晰掉 各种类型32位与64位下各类型长度对比

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂):可以访问大型数据库.本文介绍的是64位下C语言开发程序注意事项. 1. 32 位和 64 位C数据类型 32和64位C语言内置数据类型,如下表所示: 上表中第一行的大写字母和数字含义如下所示:I表示:int类型L表示:long类型P表示:pointer指针类型32表示:32位系统64表示64位系统如:LP64表示,在64位系统下的long类型和pointer类型长度为64位.64位Li

32位和64位下结构体内存对齐问题

1.先看64位下: #include<stdio.h> struct A { int a; char b; double c; char d; }; struct B { char a; double b; char c; }; int main() { printf("int =%lu,char=%lu,double=%lu\n",sizeof(int),sizeof(char),sizeof(double)); printf("structA=%lu stru

win7 64位下安装hadoop的eclipse插件并编写运行WordCount程序

win7 64位下安装hadoop的eclipse插件并编写运行WordCount程序 环境: win7 64位 hadoop-2.6.0 步骤: 1.下载hadoop-eclipse-plugin-2.6.0.jar包 2.把hadoop-eclipse-plugin-2.6.0.jar放到eclipse安装目录下的plugins目录下 3.打开eclipse发现左边多出来一个DFS Locations 4.在win7上解压hadoop-2.6.0. 5.下载hadoop.dll.winuti

windows7 64位下配置mysql64位免安装版

windows 7 64位下配置mysql64位免安装版 文章分类:数据库 1.下载http://pan.baidu.com/s/1jGf5nUI 2.解压到D:\MySQL(路径自己指定) 文件夹不要带中文,最好改成Mysql 3.在D:\MySQL下将my-default.ini改成my.ini配置文件并将内容改成,如下: *****************配置文件开始********************* # MySQL Server Instance Configuration Fi

win7硬盘安装Ubuntu12.04 64位时显示Error 15: File not found.

安装Ubuntu12.04 -64位时,用EasyBCD建好引导文件重启电脑后出现如下错误: Error 15: File not found 原因一个是安装文件所在盘符不对,另一个是文件名.Ubuntu12.04 32位的ISO包解压后casper文件夹下内核文件为vmlinuz,而64位解压后casper文件夹下内核文件为vmlinuz.efi.用EasyBCD创建的引导文件中内核文件所用名字为vmlinuz,所以出错.可以将vmlinuz.efi改名为vmlinuz即可解决. 附安装过程如