草庐IT

iphone - 为什么 UIView 的边界是 CGRect 而不是 CGSize?

UIView(NSView)的bounds属性是CGRect的原因是什么?在该属性中是该CGRect的大小。它只是绘图的快捷方式吗,因为您在绘图时需要CGRect?或者只是一个非常具体的特殊情况,其中bounds的origin可能不是{0,0}? 最佳答案 frame指定View相对于父View的位置,而bounds指定允许View相对于框架绘制的位置。通过更改bounds原点和/或宽度,您可以获得裁剪,例如,或在View外部绘制。也就是说,边界原点通常是(0,0),但它不能总是这样,就像您进行裁剪时一样。此外,仿射变换使用boun

ios - CGRect根据中心点定位

我正在尝试为iPad应用程序创建多个View。首先,我创建了一个菜单View,然后根据菜单创建了一个带有坐标的子菜单View。所以它看起来像这样:我做了什么:self.view=[[UIViewalloc]initWithFrame:CGRectMake(self.parentViewController.view.frame.size.width,0,150,screenHeight)];但是现在在子菜单上我正在尝试创建内容View,它是一个UINavigationController。尝试做同样的事情,我得到了这个结果:我在做什么(这次是在子菜单ViewController上创建框

ios - CGRect 和 CGPath 的交集

是否有一种有效的方法来检测CGPath和CGRect是否相交?我考虑过像这样循环遍历CGRect中的每个点:for(CGPointpointinrect){if(CGPathContainsPoint(path,nil,point,NO)){intersects=YES;break;}但我想知道是否有更好的方法。在我的应用程序中,有许多CGrect和一个可能会改变其形状的CGPath。我只需要检查哪些矩形与路径相交,如下图所示。 最佳答案 在位图中绘制路径(alpha为白色)然后检查位图的矩形部分。检查该区域是否有任何白色,这意味着

iOS - 如何找到与给定 CGRect 具有相同高度的正确字体大小(以磅为单位)?

标题几乎可以解释它。我有一张正在绘制文字的图像。我希望根据图像的大小调整文本的大小,并想找到一种方法来获得比图像本身稍短的字体高度。 最佳答案 好的,对于所有认为迭代不可避免的人来说:NSString*string=@"Thestringtorender";CGRectrect=imageView.frame;UIFont*font=[UIFontfontWithSize:12.0];//findtheheightofa12.0ptfontCGSizesize=[stringsizeWithFont:font];floatpoint

objective-c - UILabel 获取文本子字符串的 CGRect

我的目标很简单:从UILabel获取标签文本中子字符串的矩形。从广泛的搜索来看,似乎没有任何内置的东西来处理这个问题。其他人也问过类似的问题,但在Stackoverflow上没有一个得到完整的回答。//Somethinglikethisperhaps(addedasacategory)CGRectrect=[myLabelrectForRange:NSMakeRange(3,5)];它的用途示例(只是为了阐明我正在搜索的内容): 最佳答案 这是单字符矩形最需要的,所以我发疯了,写了一些代码可以准确计算最基本的UILabel的矩形。标

ios - Ipad 的 CGRect 中心

我正在使用CGRect创建图像框架。我想将创建的矩形居中。我在这里以及Apple文档中查看了执行此操作的最佳方法,并找到了获取中心坐标的CGRectGetMidY和CGRectGetMidX。当我尝试将它实现到我自己的代码中时,我遇到了问题。我得到一个在UIIMageView类型的对象上找不到的属性大小错误#import"MyViewController.h"@interfaceMyViewController()@end@implementationMyViewController@synthesizemySignatureImage;@synthesizelastContactPo

ios - 在 0 和 1 之间规范化 CGRect

规范化CGRect值以使其介于0和1(单位坐标系)之间的最佳方法是什么? 最佳答案 一个非常简洁的方法是:CGAffineTransformt=CGAffineTransformMakeScale(1.0/parentRect.size.width,1.0/parentRect.size.height);CGRectunitRect=CGRectApplyAffineTransform(rect,t); 关于ios-在0和1之间规范化CGRect,我们在StackOverflow上找到一

ios - Swift 无法将表达式的类型 '()' 转换为类型 CGRect

我是Swift的新手,我正在尝试为textField设置动画,因为我的键盘隐藏了它。在objective-c中,这段代码运行良好。这是编辑开始事件函数:@IBActionfuncpasswordEditingBegin(sender:UITextField){varmovementDistance:Int=50varmovementDuration=0.3UIView.beginAnimations("anim",context:nil)UIView.setAnimationBeginsFromCurrentState(true)UIView.setAnimationDuration(

ios - 设置 CGRect 的优先级 - Swift

我的iOS应用程序是用Swift编写的,我有一个View,我在其中以编程方式显示一个占据整个View空间的框架。我在Storyboard中有一个按钮socket。当View加载时,按钮隐藏在框架后面。view.frame=CGRect(x:0.0,y:0.0,width:videoW,height:videoH)self.view.addSubview(view)如何在框架上显示按钮? 最佳答案 使用insertSubview(atIndex:)在View层次结构中的特定位置插入subview。使用索引零会将其置于所有其他subvi

swift - 编码 SpriteKit 游戏,我收到 "Instance member ' minX' 不能用于类型 'CGRect"

我无法通过CGRect.minX/Y和CGRect.MaxX/Y修复此错误消息。“实例成员‘minX’不能用于‘CGRect’类型”是错误。我能做些什么来修复它?funcspawnNewDisc(){varrandomImageNumber=arc4random()%4randomImageNumber+=1letCheeseBlock=SKSpriteNode(imageNamed:"CheeseBlock\(randomImageNumber)")CheeseBlock.zPosition=2CheeseBlock.name="CheeseObject"letrandomX=ran