草庐IT

iphone - UITextField - (void)drawPlaceholderInRect :(CGRect)rect returns different CGRect height in iOS 7

我尝试子类化UITextField来绘制自定义占位符。在iOS6中,这工作正常,但在iOS7中,我得到了不同的CGRect高度。UITextField框架是(0,0,500,45)。我通过覆盖添加了20的左填充-(CGRect)editingRectForBounds:(CGRect)bounds;-(CGRect)placeholderRectForBounds:(CGRect)bounds;-(CGRect)textRectForBounds:(CGRect)bounds;调用下面的方法来这样做:-(CGRect)makeRectFromBounds:(CGRect)boundsw

ios - 我以前没见过的 CGRect 语法

我在一些示例代码中看到了下面的语法,但不确定我是否理解它。CGRectimageRect=(CGRect){.size=baseImage.size};这是否只是一种初始化CGRect的简写方式,等同于:CGRectimageRect=CGRectMake(0,0,baseImage.size.width,baseImage.size.height);除了稍微减少输入之外,这种语法还有什么好处吗? 最佳答案 那是C99initializersyntax.您可以将它用于任何结构。Objective-C的主要优点是它为您提供了一些非常类

ios - 如何找到 UILabel 中文本子字符串的 CGRect?

对于给定的NSRange,我想在UILabel中找到一个CGRect,它对应于的字形NSRange。例如,我想在“Thequickbrownfoxjumpsoverthelazydog”这句话中找到包含单词“dog”的CGRect。诀窍在于,UILabel有多行,并且文本实际上是attributedText,因此很难找到字符串的确切位置。我想在我的UILabel子类上编写的方法看起来像这样:-(CGRect)rectForSubstringWithRange:(NSRange)range;详情,有兴趣者:我的目标是能够创建一个具有UILabel的确切外观和位置的新UILabel,然后我

ios - UIEdgeInsetsInsetRect' 已被实例方法 'CGRect.inset(by :)

我犯了一个错误,就是在没有等待pod更新的情况下将我的项目更新到Swift4.2。我已经慢慢更新了我所有的代码,但有一行我似乎无法理解。varanimationRect=UIEdgeInsetsInsetRect(frame,UIEdgeInsets(top:padding,left:padding,bottom:padding,right:padding))我收到的错误是,UIEdgeInsetsInsetRect'hasbeenreplacedbyinstancemethod'CGRect.inset(by:)如有任何帮助,我们将不胜感激! 最佳答案

swift - CGRectZero 与 CGRect.zeroRect?

两者在Swift中的工作方式似乎相同。我们应该使用哪个?CGRectZero与CGRect.zeroRectGRectMake(1,1,1,1)对比CGRect(x:1,y:1,width:1,height:1)UIEdgeInsetsMake(1,1,1,1)vsUIEdgeInsets(top:1,left:1,bottom:1,right:1)其他图案 最佳答案 更新2在Swift3中,CGRectZero不再可用。CGRect.zero是您唯一的选择。Learnit,knowit,liveit.更新CGRect.zeroRe

Swift 4 表达式类型 '@value CGRect' 在没有更多上下文的情况下不明确

我正在尝试为矩形实现动画以执行模态垂直滑动。但是,当我尝试编译代码时出现以下错误“Swift4表达式类型‘@valueCGRect’在没有更多上下文的情况下不明确”。我已将问题与传递给CGRect初始值的参数隔离开来,但根据Apple的iOS文档,这些参数应该足以指定我需要设置动画的“框架”View。这是我的代码:funcanimateTransition(usingtransitionContext:UIViewControllerContextTransitioning){guardletfromView=transitionContext.viewController(forKe

ios - 在 Swift 3 中自动将 CGRectMake 更新为 CGRect

既然CGRectMake、CGPointMake、CGSizeMake等已在Swift3.0中删除,是否有任何方法可以自动更新所有初始化,例如从CGRectMake(0,0,w,h)到CGRect(x:0),y:0,宽度:w,高度:h)。手动过程……非常痛苦。不确定为什么当我将代码转换为当前Swift语法时Apple不自动转换它... 最佳答案 最简单的解决方案可能只是重新定义Apple拿走的功能。示例:funcCGRectMake(_x:CGFloat,_y:CGFloat,_width:CGFloat,_height:CGFlo

uiimageview - 如何制作带圆角的 UIImage/-View CGRect (Swift)

如何在SwiftiOSPlayground上制作带圆角的UIImageView?里面需要填充一种颜色。 最佳答案 letimageView=UIImageView(frame:CGRectMake(0,0,100,100))imageView.backgroundColor=UIColor.redColor()imageView.layer.cornerRadius=8.0imageView.clipsToBounds=true结果: 关于uiimageview-如何制作带圆角的UIIm

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这

ios - 如何从 CGPoint 和 CGSize 创建 CGRect?

我需要从CGSize和CGPoint的不同集合中为UIImageView创建一个框架,这两个值将始终不同,具体取决于用户的选择。那么我怎样才能使CGRect形成一个CGPoint和一个CGSize呢?提前谢谢你。 最佳答案 Objective-C的两个不同选项:CGRectaRect=CGRectMake(aPoint.x,aPoint.y,aSize.width,aSize.height);CGRectaRect={aPoint,aSize};swift3:letaRect=CGRect(origin:aPoint,size:aS