草庐IT

ios - 以编程方式带有边距的 UITextField 自动布局

我是AutoLayout的新手,我想以100%的宽度显示我的UITextField,并保持一致的15px左右边距,如下所示:通常我会使用CGRect来执行此操作,将宽度设置为包含View的宽度减去30像素,然后将左侧偏移15像素:searchTextField.frame=CGRectMake(15,0,view.frame.width-30,50)但是我想为这类事情学习AutoLayout,因为现在这是一种方式。我应该指出,我正在以编程方式做所有事情——这里没有Storyboard。如果有人能帮助我,我会很高兴!更新哇!感谢您的所有回复。我相信他们所有人都会实现我想要做的事情,但只能

ios - 二元运算符 '+' 不能应用于类型 'CGRect' 和 'Double'

当键盘出现到键盘的高度并增加8点时,我正在尝试更改按钮的底部常量。但是下面的ifletkeyboardHeight=(n.userInfo?[UIKeyboardFrameBeginUserInfoKey]as?NSValue)?.cgRectValue{saveButtonBottomConstant.constant=keyboardHeight+8.0}在转换为Swift3时,在Xcode8.0beta6中出现以下错误BinaryOperator'+'cannotbeappliedtotype'CGRect'and'Double'我理解为什么会发生这种情况,但是我的尝试导致的错误

ios - 如何更改 CGRect 的 x 和 y?

我画了一个矩形。当我触摸屏幕时,我可以改变宽度和高度。默认情况下我让x=50,y=self.view.frame.height/2。我需要相对于x和y拉伸(stretch)矩形。如何更改x和y?varscanRectangleRect=CGRect.zerovarscanRectangle:UIView=UIView()funcdrawLine(){self.view.addSubview(scanRectangle)scanRectangle.backgroundColor=UIColor.grayscanRectangleRect=CGRect(x:50,y:self.view.f

swift - “CGRectGetWidth”已被属性 'CGRect.width' 取代

这个问题在这里已经有了答案:Errorwhileusingproperty'CGRectGetWidth',itsaysitwasreplacedwith'CGRect.width'(2个答案)关闭4年前。我正在尝试测试偏移量并在滚动结束后计算当前页面。我只需要将这一行更新为swift4吗?letpageWidth:CGFloat=CGRectGetWidth(scrollView.frame)'CGRectGetWidth'hasbeenreplacedbyproperty'CGRect.width'//MARK:UIScrollViewDelegateoverridefuncscr

iOS Swift 以编程方式设置 View 框架位置

我在ScrollView中有两个subview。我需要以编程方式定位这两个subview。我通过在DispatchQueue.main.async中编写代码正确地做到了这一点。这是代码:DispatchQueue.main.async{self.SelectClientDetailView.frame=CGRect(x:0,y:637,width:self.SelectClientDetailView.frame.size.width,height:self.SelectClientDetailView.frame.size.height)self.SelectClientDetail

ios - 它显示 "required initializer init must be provided in subclass of UIControl"当我覆盖 init(frame : CGRect)

此代码有效:importUIKitclasswheel:UIControl{}但是这段代码没有:classwheel:UIControl{overrideinit(frame:CGRect){super.init(frame:frame)}当我覆盖init(frame:CGRect)而不是init(coderaDecoder:NSCoder).为什么我必须执行init(coderaDecoder:NSCoder)?如果我没有实现init(frame:CGRect)为什么我不需要实现它?我找到了一个类似的StackOverflow帖子,但没有解释:Swift:Error:'require

ios - 直接访问 CGRect 值与在 Swift 中规范化它们——Objective-C 规则仍然有效吗?

这个问题的灵感来自AndrewCarter'scomment关于之前关于Swift中新的CGSize初始化程序的问题。AppleDocsforCGGeometry说:...yourapplicationsshouldavoiddirectlyreadingandwritingthedatastoredintheCGRectdatastructure.Instead,usethefunctionsdescribedheretomanipulaterectanglesandtoretrievetheircharacteristics.Apple建议不要直接访问CGRect中的数据是否对Sw

ios - CGRectDivide 在 swift 3 中被弃用

正如swift3所说,CGRectDivide已被弃用,替换为divided(atDistance:CGFloat,fromfromEdge:CGRectEdge)->(slice:CGRect,remainder:CGRect).据我所知,CGRectDivide默认将源矩形分成两个组件矩形。问题是要做什么以及使用什么来执行CGRectDivide使用swift3所做的相同操作?更新1:swift2函数如下所示:fileprivatefuncisLeftPointContainedWithinBezelRect(_point:CGPoint)->Bool{ifletbezelWidt

ios - 如何在 Swift 中相互组合 CGRects

我想知道是否有任何方法可以将一个CGRect与另一个CGRect结合起来以获得一个新的CGRect。swift是否有任何预设功能来执行此操作,或者是否有其他方法可以实现此目的? 最佳答案 letrect1=CGRect(x:0,y:0,width:100,height:100)letrect2=CGRect(x:40,y:40,width:150,height:150)letunion=rect1.union(rect2)//{x0y0w190h190}查看更多:https://developer.apple.com/documen

ios - 如何快速释放 CGRect、CGPoint 类型?

我在项目中多次使用CGRect、CGPoint类型。我可以nillswift对象,但我不能将nil值设置为C类型。如何从swift中释放CGRect和CGPoint? 最佳答案 CGrect、CGPoint等都是所谓的值类型。你不需要担心真的释放它们。您可以考虑在堆栈上分配值类型变量,因此在您离开方法范围时将其丢弃。有一个短article在解释值类型和引用类型之间区别的swift博客上。AutomaticReferenceCounting适用于引用类型仅。在那里你可以考虑在堆上分配对象。