标签: cgrect

IOS:验证一个点是否在矩形内

有没有办法验证a CGPoint是否在特定内部CGRect.例如:我正在拖动一个UIImageView,我想验证它的中心点CGPoint是否在另一个内部UIImageView我该怎么办?

collision-detection uiview cgpoint ios cgrect

138
推荐指数
5
解决办法
10万
查看次数

比较两个CGRects

我需要检查我的视图框架是否等于给定的CGRect.我尝试这样做:

CGRect rect = CGRectMake(20, 20, 20, 20);
if (self.view.frame == rect)
{
    // do some stuff
}
Run Code Online (Sandbox Code Playgroud)

但是,我说错了Invalid operands to binary expression('CGRect' (aka 'struct CGRect') and 'CGRect').为什么我不能简单地比较两个CGRect

comparison cocoa-touch objective-c ios cgrect

95
推荐指数
3
解决办法
3万
查看次数

获得UIView关于其superview的超级视图的位置

我有一个UIView,我在其中安排了UIButtons.我想找到那些UIButton的位置.

我知道buttons.frame会给我这些职位,但只会就其直接的超级视图给我立场.

有没有办法我们可以找到这些按钮的位置,与UIButton superview的超级视图有关?

例如,假设UIView名为"firstView".

然后,我有另一个UIView,"secondView".这个"SecondView"是"firstView"的子视图.

然后我将UIButton作为"secondView"的子视图.

->UIViewController.view
--->FirstView A
------->SecondView B
------------>Button
Run Code Online (Sandbox Code Playgroud)

现在,有没有什么方法可以找到UIButton的位置,就"firstView"而言?

iphone uibutton uiview ios cgrect

80
推荐指数
6
解决办法
7万
查看次数

我可以使用UIEdgeInsets调整CGRect吗?

我有一个CGRect,我想调整它UIEdgeInsets.

似乎可能有一个内置函数可以做到这一点.我已经找了一个CGRectAdjustByInsets或带有其他CGRect…前缀的函数,但我没有找到任何东西.

我应该自己编码吗?

cgrect uiedgeinsets

42
推荐指数
3
解决办法
2万
查看次数

"表达式不可分配" - 问题是将float指定为xCode中另外两个浮点数的总和?

在钢琴应用程序中,我正在分配黑键的坐标.这是导致错误的代码行.

'blackKey'和'whiteKey'都是customViews

blackKey.center.x = (whiteKey.frame.origin.x + whiteKey.frame.size.width);
Run Code Online (Sandbox Code Playgroud)

floating-point objective-c variable-assignment ios cgrect

41
推荐指数
3
解决办法
3万
查看次数

iOS框架改变一个属性(例如宽度)

这个问题最初是针对objective-c编程语言提出的.在撰写本文时,swift甚至还没有存在.

是否有可能只更改一个属性CGRect

例如:

self.frame.size.width = 50;
Run Code Online (Sandbox Code Playgroud)

代替

self.frame = CGRectMake(self.frame.origin.x, 
                        self.frame.origin.y, 
                        self.frame.size.width, 
                        50);
Run Code Online (Sandbox Code Playgroud)

当然我明白这self.frame.size.width只读的所以我想知道如何做到这一点?

CSS ANALOGY 风险自负

对于那些熟悉的人来说CSS,这个想法非常类似于使用:

margin-left: 2px;
Run Code Online (Sandbox Code Playgroud)

而不是必须改变整个价值:

margin: 5px 5px 5px 2px;
Run Code Online (Sandbox Code Playgroud)

objective-c ios cgrect cgrectmake

41
推荐指数
3
解决办法
5万
查看次数

Swift 4表达式类型'@value CGRect'在没有更多上下文的情况下是模糊的

我正在尝试为矩形实现动画以执行模态垂直滑动.但是,当我尝试编译代码时,我得到以下错误"Swift 4表达式类型'@value CGRect'是模糊的,没有更多上下文".我已将问题隔离到传递给CGRect init值的参数,但根据Apple的iOS文档,这些参数应该足以指定我需要设置动画的"帧"视图.

这是我的代码:

func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
    guard
        let fromView = transitionContext.viewController(forKey: .from),
        let toView = transitionContext.viewController(forKey: .to)

    else {
            return
    }
    let containerView = transitionContext.containerView
    containerView.insertSubview((toView.view)!, belowSubview: (fromView.view)!)

    let toFrame = transitionContext.finalFrame(for: toView)

    let screenBounds = UIScreen.main.bounds

    let bottomLeftCorner = CGPoint(x: 0, y: screenBounds.height)

    let finalFrameForVC = CGRect(origin: bottomLeftCorner, size: screenBounds.size)

    UIView.animate(withDuration: 2, delay: 1,
                   options: [], (using: transitionContext.finalFrame(for: fromView)),
        animations: {
            fromView.view.frame = finalFrameForVC
    },
        completion: { _ in
            transitionContext.completeTransition(!transitionContext.transitionWasCancelled)
    })
}
Run Code Online (Sandbox Code Playgroud)

cgrect swift

35
推荐指数
6
解决办法
3万
查看次数

CGRectGetWidth与CGRect.size.width

哪个更好用?我更喜欢CGRect.size.width,因为它看起来更好.但是,我的同事说CGRectGetWidth更好.

objective-c uiview cgrect

29
推荐指数
2
解决办法
7176
查看次数

UITextView周围的边框

如何在UITextView周围添加边框(如UITextField)?我想允许用户键入多行,但遗憾的是UITextField不支持此行.有没有一种简单的方法可以在代码中执行此操作,还是需要在Photoshop中创建一个?

text border uitextfield uitextview cgrect

29
推荐指数
3
解决办法
4万
查看次数

CGRectZero与CGRect.zeroRect?

两者似乎在Swift中都是一样的.我们应该使用哪个?

  1. CGRectZero VS CGRect.zeroRect
  2. GRectMake(1, 1, 1, 1)vs CGRect(x: 1, y: 1, width: 1, height: 1) UIEdgeInsetsMake(1, 1, 1, 1)vsUIEdgeInsets(top: 1, left: 1, bottom: 1, right: 1)
  3. 其他模式

struct cgrect cgrectmake swift

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