gpt4 book ai didi

cgrect - 我可以用 UIEdgeInsets 调整 CGRect 吗?

转载 作者:行者123 更新时间:2023-12-02 09:38:44 29 4
gpt4 key购买 nike

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

似乎可能有一个内置函数可以做到这一点。我找了一个 CGRectAdjustByInsets或与其他一些功能一起使用 CGRect…前缀,但我没有找到任何东西。

我应该自己编码吗?

最佳答案

TL; 博士

swift 4.2 使用 theRect.inset(by: theInsets) .

objective-c 使用 UIEdgeInsetsInsetRect(theRect, theInsets)

例子

// CGRectMake takes: left, bottom, width, height.
const CGRect originalRect = CGRectMake(0, 0, 100, 50);

// UIEdgeInsetsMake takes: top, left, bottom, right.
const UIEdgeInsets insets = UIEdgeInsetsMake(10, 10, -20, -20);

// Apply the insets…
const CGRect adjustedRect = UIEdgeInsetsInsetRect(originalRect, insets);

// What's the result?
NSLog(@"%@ inset by %@ is %@",
NSStringFromCGRect(originalRect),
NSStringFromUIEdgeInsets(insets),
NSStringFromCGRect(adjustedRect));

// Logs out…
// {{0, 0}, {100, 50}} inset by {10, 10, -20, -20} is {{10, 10}, {110, 60}}

解释
  • 正插图将矩形的边缘向内移动(朝向矩形中间)。
  • 负插入将边缘向外移动(远离矩形中间)。
  • 零插入将单独留下边缘。

  • 告诉我更多

    用于操作 CGRect 的更多有用功能s 由 this note 覆盖.

    关于cgrect - 我可以用 UIEdgeInsets 调整 CGRect 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27741663/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com