问题标签 [cgfloat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1308 浏览

objective-c - 如何在 NSString 中获取单词的 X 坐标

我有一个标签,里面有一个句子,那是一个字符串。我需要获取字符串中特定单词的 x 坐标。因此,例如,如果我在句子中有一个说“狗跑了”的句子,我需要能够找到 x 和 y 坐标,以及在其上放置 UITextField 的宽度和高度。到目前为止,这是我的代码:

有人能告诉我我需要做什么来解决这个问题吗?

0 投票
2 回答
9850 浏览

ios - 比较两个相等的 CGFloat:s,得到正(YES)结果

到目前为止,这还不是问题,但从今天开始,我遇到了一个奇怪的问题,这种问题并不总是发生,但很少发生,我会说 50 次,甚至更少。

我正在像这样比较两个 CGFloat:s:

正如你所看到的,我没有比较 using==或任何东西,因为这些是浮点数......(比如,它不应该与比较浮点值有多危险?现在应该)

我遇到的问题是我遇到了两个值准确的情况,但比较结果为是。在我的例子中,这两个值都是“8926.5”——这个值是我从 LLDB 得到的。这有什么好的解释吗???(我认为 LLDB 会四舍五入这两个值,这意味着它们实际上可能是其他值 - 但为什么这也会在运行时发生?)

这种让我很反感,因为我不能只看到问题......好吧,我正在考虑强制浮动到 int 只是为了这个比较,这一次我可以使用它,但我觉得这个问题最好完全理解:-P

0 投票
2 回答
13175 浏览

objective-c - 来自 CGFloat 的 NSNumber

有没有一种安全的方法可以将 a “转换”CGFloat为 a NSNumber

NSNumber具有numberWithFloat:andnumberWithDouble:方法,但CGFloat被定义为floatdouble取决于平台,使用其中任何一个似乎都有风险。

或者numberWithDouble:与 a 一起使用是安全的CGFloat,因为它是更精确的那个?

0 投票
1 回答
484 浏览

objective-c - 为什么 CGPointEqualToPoint 简单地执行(px == px && py == py)?

由于比较浮动是一个如此困难和有争议的问题,我很惊讶地看到 CGPointEqualToPoint 和其他 CG 比较方法只是这样做:

在某些情况下这不会导致问题吗?或者,Objective-C 是否与 fabs、epsilon 等进行内置浮点比较?我想知道为什么开发人员在这里选择使用直接相等测试。

0 投票
1 回答
151 浏览

ios - 将浮点数分配到全局数组中

根据我在此博客上找到的代码,我正在尝试backgroundView使用渐变自定义分组的 UITableViewCell。它是用于 cell.backgroundView 的 UIView 的子类。

背景渐变的颜色在原始代码中定义如下:

然后,drawRect在子类 backgroundView 上像这样使用:


我正在尝试实现一个函数来设置渐变的开始和结束颜色,它需要两个 UIColors,然后填充一个全局浮点数组 float startAndEndColors[8](在 .h / @interface 中)以供以后使用:

但它在分配时向我抛出了这个错误“预期表达式”。

我尝试了CGFloat,拼命添加 random const,但我很快就没有想法了。

我根本不明白,为什么我不能以这种方式填充我的浮点数组?我究竟做错了什么?

0 投票
1 回答
3933 浏览

iphone - 如何将像素转换为 CGFloat?

我的网页中有一个宽度为“50px”、高度为“40px”的图像。

现在我想在 UIImageView 中显示相同尺寸的图像。

如何将像素转换为 CGFloat?

感谢您的回答。

0 投票
0 回答
97 浏览

objective-c - sqlite 浮点比较 - 这是可以预测的吗?

我在 sqlite 中有一个 LOCATIONS 表:

我想在 LocationDao 上实现以下方法

sqlite 如何处理 CGFloat 的搜索?浮点比较的正常问题是否仍然适用?将这些值存储为字符串会更好吗?

我所有的位置都将来自不同的来源,但在保存到数据库之前会通过 Apple 的标准 CLLocation 地理编码器进行抽取。

0 投票
1 回答
2350 浏览

ios - 替换 `fabs`、`fmax` 等,用于 64 位 iOS 设备上的 CGFloat

问题

考虑这样的布局代码:

第三行应该如何重写以支持 64 位 iOS 设备?

(当前代码没有考虑yCoordinateOfSomeOtherView是 afloat还是 a double。)

选项

几个选项(我不确定哪个是最好的):

1.定义自己的宏

然后我可以替换fmaxcgfmax.

2.使用tgmath.h

This Stack Overflow answer from 2011 建议math.htgmath.h. 这将 的实现替换为fmax调用__typeof__每个参数并根据参数类型返回fmax或返回的实现。fmaxf

3.忽略这个问题

由于 CGFloats 与布局有关,将 a 存储float到 adouble中可能导致的数据丢失通常是微不足道的。也就是说,它们将代表像素的一小部分。

概括

我正在寻找以前做过 32 位到 64 位转换的人的任何其他选项或有用的建议。

0 投票
1 回答
235 浏览

casting - 乘法/除法浮点数产生双倍?

在Objective-C(或C)中,如果我这样做

那是对的吗?或者,我应该投要么投要么distance投?velocityNSTimeInterval

请注意,在 iOS 7.0 中:

0 投票
1 回答
466 浏览

ios - iOS CGFloat 语义问题——无效的操作数

在我的界面中有两个 CFFloat 属性。我试图在手势识别器中使用它们,但我继续在带有“allTouchesAreOnPreviewLayer”的 if 语句中收到错误“二进制表达式浮点数和双精度数的无效操作数..”。我不确定如何正确解决此问题。如果您需要更多信息,请与我们联系。我正在尝试实现捏合以放大 UIView。

接口属性:

实施方法:

//错误在这里: