我想在我的设备上摆脱一个像素问题.我正在设计一个如下所示的日历

我正在为此目的使用UICollectionViewCell

- (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
   return UIEdgeInsetsMake(0,0);  // top,left,bottom,right
}

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout *)collectionViewLayout
  sizeforItemAtIndexPath:(NSIndexPath *)indexPath
{
    CGFloat collectionViewWidth = (CGRectGetWidth(collectionView.frame) / 7);
    CGFloat collectionViewHeight = 48;
    return CGSizeMake(collectionViewWidth,collectionViewHeight);
}

问题是,如果我增加宽度甚至0.0000001点,那么每行绘制的单元格数量是6而不是7.我已尝试增加UIEdgeInset(0.00001),但这是同样的问题.流布局的属性已正确设置.

layout.minimumInteritemSpacing = 0.0f;
 layout.minimumLinespacing = 0.0f;

如何在不留空隙的情况下使单元尺寸保持一致?电池的实际宽度为53.571428571428569(375/7).如果我将值四舍五入到53.58,那么我得到以下视图

解决方法

这是一个非常受欢迎的问题,解决它的最快方法是使用collectionViewWidth%7 == 0获取单元格大小

例如你的collectionViewWidth == 320.Cell == 320/7 == 45.7142857,你只需要使用collectionViewWidth == 322,你的问题就解决了,因为cell == 46

那个增加不明显的collectionViewWidth U有两个选项

>首先,如果您使用collectionViewWidth == screenWidth,只需对齐中心,边缘将隐藏屏幕限制>如果你收集ViewWidth< screenWidth,使用UIview到collectionView的容器,并使用clipTobounds,edge将隐藏容器限制.

ios – 舍入集合视图的浮点值时出错的更多相关文章

  1. 从IOS / iPad / iPhone的最大速度

    我使用OpenCVforiOS完成计算密集型应用程序.当然这很慢.但它比我的PC原型慢了200倍.所以我正在优化它.从最初的15秒,我能够获得0.4秒的速度.我想知道我是否找到了所有的东西以及别人想要分享的东西.我做了什么:>将OpenCV中的“double”数据类型替换为“float”.双倍是64位,32位cpu不能轻易处理,所以浮动给了我一些速度.OpenCV经常使用双倍.>为编译器选项添加了

  2. 如何在iOS中使用GL_HALF_FLOAT_OES类型的纹理?

    谢谢!

  3. 在iOS ARM设备(iPhone 4)上支持非正常IEEE 754浮点数

    >可以将iOS系统设置为提供对正常数量的支持,而不要求编译器仅生成完整的软件浮点代码?是.这可以通过将FPSCR中的FZ位设置为零来实现:请注意,当遇到可观量的非正常值时,这可能会导致应用程序性能的显着下降.您可以恢复默认浮点状态,然后再调用任何不使ABI保证在非默认模式下正常工作的代码:请提交bugreport请求,为iOS中的FP操作模式提供更好的文档.

  4. ios – 舍入集合视图的浮点值时出错

    我想在我的设备上摆脱一个像素问题.我正在设计一个如下所示的日历我正在为此目的使用UICollectionViewCell问题是,如果我增加宽度甚至0.0000001点,那么每行绘制的单元格数量是6而不是7.我已尝试增加UIEdgeInset(0.00001),但这是同样的问题.流布局的属性已正确设置.如何在不留空隙的情况下使单元尺寸保持一致?电池的实际宽度为53.571428571428569(3

  5. Swift教程05-基本数据类型(一)整型浮点型

    Swift的基本数据类型与Oc的数据类型有一些不同;除了写法改变了一些之外,还增加了一些类型,下面来由浅入深的介绍其基本数据类型注意:基本数据类型以大写字母开头,不同于C语言!

  6. swift基本语法—变量和常量—整型-浮点型 -布尔型 bool

    swift基本语法——变量和常量swift语言中声明变量使用var关键字,声明常量使用let关键字importFoundationvarStr="helloworld"//Str是变量varnum:StringletInstrationCount:Int=2//InstrationCount是常量vartemp:Float32=2.8//Str=1024//编译会失败,不能修改常量//varNum

  7. Swift学习笔记二十三——Swift泛型初识

    泛型的概念在Java中也是存在的,泛型可以使代码更为精炼,是对数据类型使用的一种优化。如果此时又多了一个需求,需要判断两个浮点型的是否相等。那怎么办,代码实现基本和上面一样,不过我们又得重新写一遍浮点型的代码:。以上两个代码将会导致代码可重用性变差且变得冗余,如果使用泛型来实现,将会变得很简单:.泛型的实现是不是很高大上呢。让我们的代码也提升B格吧。

  8. Swift 2.0学习笔记Day 13——数据类型之整型和浮点型

    浮点型主要用来储存小数数值,也可以用来储存范围较大的整数。它分为浮点数和双精度浮点数两种,双精度浮点数所使用的内存空间比浮点数多,可表示的数值范围与精确度也比较大。欢迎关注关东升新浪微博@tony_关东升。

  9. Swift快速入门-2-型别安全及推断、整点浮点转换

    本文参考Apple官网文档,仅是快速学习的笔记,写的不是太详细,想看想详细点的请见http://www.apple.com/swift/下方有原文下载,国内也有很多翻译的好文章=============letiNumber=38会自动推断为Int类型letpi=3.1415926会推断为Doubler而不是Float===和C#不同的是,会自动推断计算过后的值,如果超过可储存的范围会编译错误,如:

  10. [IOSS]Swift数据类型转换

    [IOSS]Swift数据类型转换

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部