标签: cgfloat

如何发现最低的CGFloat负值?

我知道这些值:

  • CGFloat.infinity,大于
  • CGFloat.greatestFiniteMagnitude,大于
  • CGFloat.leastNormalMagnitude,大于
  • CGFloat.leastNonzeroMagnitude,大于
  • 0

但它就停在那里...据我所知。负值在哪里?我想这也许和-在它们前面放一个字母一样容易,但是然后我担心可能会有奇怪的例外。

如何在CGFloat中找到关键的负数?至关重要的是,最低的负非无限数。

constants cgfloat swift3

2
推荐指数
1
解决办法
536
查看次数

Iphone开发:UIColor/CGColor组件比较

我的应用程序中有一些颜色的内部代码,所以我创建了一个函数,给定一种颜色,返回代码.我遇到了问题,因为它只是不起作用,并且除了红色之外的每种颜色总是返回"01",这将返回正确的代码.有人知道吗?

(NSString*)internalColorCode:(UIColor*)color {

const CGFloat *components = CGColorGetComponents(color.CGColor);
CGFloat red = components[0];
CGFloat green = components[1];
CGFloat blue = components[2];

NSString *s = [NSString stringWithFormat:@"-- Red: %f - Green: %f - Blue: %f", red, green, blue];
NSLog(s);

if ((0.949019 <= red <= 0.949021) && (0.949019 <= green <= 0.949021) && (0.952940 <= blue <= 0.952942)) {
    return [NSString stringWithFormat:@"01"];
} else if ((0.760783 <= red <= 0.760785) && (0.768626 <= green <= 0.768628) && (0.776470 <= blue <= 0.776472)) { …
Run Code Online (Sandbox Code Playgroud)

iphone comparison cgcolor uicolor cgfloat

1
推荐指数
1
解决办法
831
查看次数

使用“double (^)(CGFloat)”类型的表达式初始化“CGFloat (^__strong)(CGFloat)”时不兼容的块指针类型

我正在尝试创建一个块变量,它接受 CGFloat 参数并返回 CGFloat。

CGFloat (^debt)(CGFloat) = ^(CGFloat myFloat) {
   return myFloat * 444563.4004;
};
Run Code Online (Sandbox Code Playgroud)

这个定义有什么问题呢?为什么我会收到此警告?

objective-c cgfloat ios objective-c-blocks

1
推荐指数
1
解决办法
2803
查看次数

接收数组错误的Swift函数:'@lvalue $ T24'与'CGFloat'不同

所以我正在写一个低通加速度计功能来缓和加速度计的抖动.我有一个CGFloat数组来表示数据,我想用这个函数来阻止它:

// Damps the gittery motion with a lowpass filter.
func lowPass(vector:[CGFloat]) -> [CGFloat]
{
    let blend:CGFloat = 0.2

    // Smoothens out the data input.
    vector[0] = vector[0] * blend + lastVector[0] * (1 - blend)
    vector[1] = vector[1] * blend + lastVector[1] * (1 - blend)
    vector[2] = vector[2] * blend + lastVector[2] * (1 - blend)

    // Sets the last vector to be the current one.
    lastVector = vector

    // Returns the lowpass vector.
    return vector
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,lastVector在我的程序顶部定义如下: …

arrays cgfloat ios swift

1
推荐指数
2
解决办法
4521
查看次数

按点将浮点数与两位小数对齐

UILabels里面有一堆垂直的UIStackView。堆栈使所有标签具有相同的宽度和高度。

每个标签都有一个浮点数,如下所示:

在此处输入图片说明

但这在美学上是丑陋的。我想按点对齐数字。像这样:

在此处输入图片说明

我的问题之一是这些花车位于不同的标签中。

这些数字使用它来格式化:

[NSString stringWithFormat:@"%.2f", value];
Run Code Online (Sandbox Code Playgroud)

我不知道是否有可能。所以,我没有代码可以显示。有可能这样做吗?如何?

编辑:浮动在标签上左对齐。好的,我可以减少标签宽度并将它们向右对齐,但我想知道代码中是否有另一种解决方案,因为减少标签的宽度会导致界面上出现其他问题,从而破坏整个事情。

objective-c cgfloat ios

1
推荐指数
1
解决办法
502
查看次数

CGFloat 变量返回 0.0

当我尝试这个时:

let progress: CGFloat = CGFloat(2 / 3)
print(progress)
Run Code Online (Sandbox Code Playgroud)

控制台返回 0 但结果是 0,66666666667,而不是 0.... 为什么会这样?

当我尝试:

let progress: CGFloat = CGFloat(10 / 3) 
print(progress)
Run Code Online (Sandbox Code Playgroud)

它返回 3.0,这是 CGFloat 的工作方式吗?有没有办法用 CGFLoat 获取逗号数字?

cgfloat swift

1
推荐指数
1
解决办法
630
查看次数

CGFloat 比 Double 更准确吗?

Double 和 CGFloat 都将相同的值打印到控制台 (#2),但只有 Double 发出警告 (#1):

(#1) - 警告

警告

(#2) - 将每个打印到控制台

DOUBLE  = 9.223372036854776e+18
CGFLOAT = 9.223372036854776e+18
Run Code Online (Sandbox Code Playgroud)

许多文章提到 CGFloat 在 32 位平台上是 Float,在 64 位平台上是 Double,但这不是仅指后备存储吗?幕后是否有更多因素导致 CGFloat 比 Double 更准确?

double range cgfloat ios swift

1
推荐指数
1
解决办法
607
查看次数

我需要返回tableView:heightForRowAtIndexPath?

我有一个带有几个表的视图控制器.我希望一张桌子比其他桌子有更大的单元格.现在,我有:

- (CGFloat *)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (tableView != myBigTable)
    {
        return 44;
    }
    else
    {
        return 88;
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到警告说

不兼容的整数到指针转换从结果类型为'CGFloat*'的函数返回'int'(又名'float*')

当我运行它时,它会崩溃.

我也尝试过:

  • return 44.0 - double to float*转换的错误
  • return 44.0f - 浮动到浮动*转换的错误
  • CGFloat *height; height = 44; return height; - 与直接返回我想要的值相同的错误

我找了类似于[CGFloat floatWithDouble:44.0];NSNumber的东西,但我没有找到任何东西.我应该使用什么?

objective-c cgfloat

0
推荐指数
1
解决办法
910
查看次数

Swift无法使用类型'($ T10,CGFloat)'的参数列表调用'+'

我是Swift的初学者.

我有这个错误

无法使用类型为'($ T10,CGFloat)'的参数列表调用'+'

func loadBackground(key: NSString, width:CGFloat, height:CGFloat) -> UIImage!{


var imageName = key  + "_" + width + "_" + height

return UIImage(named: imageName)!

}
Run Code Online (Sandbox Code Playgroud)

cgfloat swift

0
推荐指数
1
解决办法
277
查看次数

二进制运算符'.. <'不能应用于两个'Int'操作数[Swift]

我在我的Xcode项目中进行编程,突然间我得到了一个警告:

 for var i:CGFloat = 0; i<3; i++ 
Run Code Online (Sandbox Code Playgroud)

"将在Swift 3中删除." 它给了我一个选项,将代码"修复"为Swift 3语法并将其切换为:

for i:CGFloat in 0 ..< 3 {
Run Code Online (Sandbox Code Playgroud)

现在我的代码将不会运行,并且它得到的错误"Binary operator'.<'不能应用于两个' Int'操作数.

cgfloat swift

0
推荐指数
1
解决办法
3598
查看次数

CGFloat的遗留常量违规(M_PI)*2

对于以下内容:

struct Constants {
    static let m2Pi = CGFloat(M_PI) * 2
}
Run Code Online (Sandbox Code Playgroud)

SwiftLint 0.16.1警告我:

警告:传统常量违例:结构范围的常量优先于传统的全局常量.(legacy_constant)

请注意,我需要此值UIBezierPath.init(arcCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)来获得闭合弧.

cgfloat swift swiftlint

0
推荐指数
1
解决办法
329
查看次数