草庐IT

objective-c - 在 Swift 中使用 Objective-C 时,Xcode 无法识别 CGFloat/UIFont/CGSize

我创建了一个新的Swift项目,并尝试将我现有的ObjectiveC代码导入到Swift项目中。一切都很好,除了Xcode6Beta5提示CGFloatUIFontCGSize...我看到的错误是Expectatype和Unknowntypename'CGFloat'就在我的一些方法旁边。我认为Swift应该对ObjectiveC友好并接受我所有的ObjectiveC代码,但不幸的是,事实并非如此。任何想法?建议或评论,我将不胜感激。谢谢。 最佳答案 只需添加您遇到错误的地方#import

swift - 在 Swift 中将字符串转换为 CGFloat

我是Swift新手,如何将字符串转换为CGFloat?我试过:varfl:CGFloat=strasCGFloatvarfl:CGFloat=(CGFloat)strvarfl:CGFloat=CGFloat(str)都没有用 最佳答案 如果你想要一个安全的方法来做到这一点,这里有一个可能性:letstr="32.4"ifletn=NumberFormatter().number(from:str){letf=CGFloat(truncating:n)}如果将str更改为“bob”,它不会转换为float,而大多数其他答案将转换为0

ios - Swift 数值和 CGFloat(CGPoint、CGRect 等)

我发现Swift数字特别笨拙,就像现实生活中经常发生的那样,我必须就CGRect和CGPoint与CocoaTouch进​​行交流(例如,因为我们正在谈论某事的框架或bounds).CGFloat与Double考虑以下来自UIViewController子类的无辜代码:letscale=2.0letr=self.view.boundsvarr2=CGRect()r2.size.width=r.size.width*scale此代码无法编译,最后一行出现常见的神秘错误:Couldnotfindanoverloadfor'*'thatacceptsthesuppliedarguments这

在 Swift 中将 CGFloat 转换为 Float

我需要将值存储为Float,但源数据是CGFloat:letmyFloat:Float=myRect.origin.x但这会导致编译器错误:“NSNumber”不是子类型“Float”所以如果我像这样明确地转换它:letmyFloat:Float=myRect.origin.xasFloat但这又会导致编译器错误:“无法将表达式的类型‘Float’转换为‘Float’”执行此操作并满足编译器要求的正确方法是什么? 最佳答案 您可以使用Float()初始化程序:letcgFloat:CGFloat=3.14159letsomeFloa

objective-c - 最大 CGFloat 值是否有常数?

我需要创建一个CGSize来计算任意长度的任意文本的文本高度。UIKit有这个很好的方法-sizeWithFont:constrainedToSize:我的文本只在宽度上受到限制,但在高度上没有限制。为此,我需要为高度设置最大可能的CGFloat。有像“CGFloatMax”这样的常数吗? 最佳答案 对于那些使用Swift2的人,你应该使用:CGFloat.max对于那些使用Swift3的人,你应该使用:CGFloat.greatestFiniteMagnitude请注意,CGFloat.max在Swift3发布时已被删除,如doc

ios - 如何将 UIColor 转换为 HEX 并在 NSLog 中显示

我已经检查了几个关于如何将UIColor代码转换为HEX的链接,但是我不确定如何调用该方法以在NSLog中显示它们。我没有评论的声誉,所以作为问题发布是我最后的手段。我希望它在我在日志中运行我的应用程序时显示。其次,我在哪里输入RGB颜色编号(R=30,G=171,B=13)?我看到所有示例都使用Array[0],[1],[2]通常指的是索引位置,那么我在哪里添加颜色值?我有这个代码:-(NSString*)hexFromUIColor:(UIColor*)color{if(CGColorGetNumberOfComponents(color.CGColor)我检查过的链接:hexco

ios - 如何将 UIColor 转换为 HEX 并在 NSLog 中显示

我已经检查了几个关于如何将UIColor代码转换为HEX的链接,但是我不确定如何调用该方法以在NSLog中显示它们。我没有评论的声誉,所以作为问题发布是我最后的手段。我希望它在我在日志中运行我的应用程序时显示。其次,我在哪里输入RGB颜色编号(R=30,G=171,B=13)?我看到所有示例都使用Array[0],[1],[2]通常指的是索引位置,那么我在哪里添加颜色值?我有这个代码:-(NSString*)hexFromUIColor:(UIColor*)color{if(CGColorGetNumberOfComponents(color.CGColor)我检查过的链接:hexco

objective-c - 如何使用 Core Graphics 绘制箭头?

我需要在我的Draw应用程序中用箭头画线。我三角学不好,所以解决不了这个问题。用户将手指放在屏幕上并向任意方向画线。所以,箭头应该出现在行尾。 最佳答案 更新I'vepostedaSwiftversionofthisanswerseparately.原创这是一个有趣的小问题。首先,有很多方法来绘制箭头,有弯曲的或直的。让我们选择一种非常简单的方法并标记我们需要的测量值:我们想写一个函数,它接受起点、终点、尾部宽度、头部宽度和头部长度,并返回一个勾勒出箭头形状的路径。让我们创建一个名为dqd_arrowhead的类别来将此方法添加到U

objective-c - 如何使用 Core Graphics 绘制箭头?

我需要在我的Draw应用程序中用箭头画线。我三角学不好,所以解决不了这个问题。用户将手指放在屏幕上并向任意方向画线。所以,箭头应该出现在行尾。 最佳答案 更新I'vepostedaSwiftversionofthisanswerseparately.原创这是一个有趣的小问题。首先,有很多方法来绘制箭头,有弯曲的或直的。让我们选择一种非常简单的方法并标记我们需要的测量值:我们想写一个函数,它接受起点、终点、尾部宽度、头部宽度和头部长度,并返回一个勾勒出箭头形状的路径。让我们创建一个名为dqd_arrowhead的类别来将此方法添加到U

ios - Swift 中的 MIN() 和 MAX() 并将 Int 转换为 CGFloat

我在使用以下方法时遇到了一些错误:1)对于第一种方法,我如何将screenHeight/cellCount作为CGFLoat返回?2)如何在第二种方法中使用ObjC的MIN()和MAX()等效项?functableView(tableView:UITableView!,heightForRowAtIndexPathindexPath:NSIndexPath!)->CGFloat{varcellCount=Int(self.tableView.numberOfRowsInSection(indexPath.section))returnscreenHeight/cellCountasCG