问题标签 [cgrectmake]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
262 浏览

ios - 在屏幕外制作一个 CGRect

是否可以在屏幕外的 CGRect 中创建 UIImageView?

然后,我将在用户按下 UIButton 后将其动画到屏幕上。

我知道这个函数CGRectMake(x,y,height, width),但显然 x 和 y 不能有负值。

谁能帮我?

0 投票
4 回答
890 浏览

ios - CGRectMake 将我的 UIButton 放在错误的位置

当我在我的程序中使用CGRectMake时,它​​的行为非常奇怪。在 Interface Builder 中,我的按钮的坐标为(260, 388)并且始终处于纵向模式。当我输入以下代码(只是为了实验)时,它应该保持在同一个地方,X 值很好,但 Y 值把它放在一个更像 300 的位置。

CGRectMake 中是否有一些怪癖导致坐标变得扭曲?没有其他代码行会影响此按钮的大小或形状,当我注释掉此行时,按钮位于 IB 的正确位置。

编辑:自动布局未打开。编辑:问题似乎是我的代码对框架 Y 值的概念和 IB 的概念不匹配。

按钮 1.1 到 3.2 在这里按从上到下的顺序列出。根据 IB,按钮编号后的第一个数字是它们的(正确)Y 值。第二个数字是根据 NSLog 的 button.frame.origin.y 的 Y 值。最后一个数字是差异。差异呈指数增长,每次增加 50 或 51。这显然是问题所在,我正在使用 IB 的 y 值系统设置我的 CGRectMake,但代码使用了一些其他数字作为 Y 值。关于为什么的任何想法?

按钮 -> IB Y 值 -> NSLog Y 值 -> 差异

1.1 -> 4 -> 5 -> 1

1.2 -> 132 -> 184 -> 52

1.3 -> 260 -> 362 -> 102

3.1 -> 388 -> 541 -> 153

3.2 -> 516 -> 719 -> 203

编辑:我的尺码检查员:

尺寸检查器

这里的第一张图片是我的 IB 的一部分(正确)。第二张图片是当我运行程序时,您会看到一个 Item 按钮与放大镜重叠(忽略低 alpha)。

IB更正 程序不正确

编辑:经过进一步试验,似乎使用 CGRect 来移动 UIViews 工作得很好,除了在 viewDidLoad 中使用它时。我将代码移动到 viewDidAppear 并且它现在可以工作了。不知道为什么会发生这种情况,但确实如此。结束这个问题。

0 投票
1 回答
229 浏览

ios - 使用 CGRECTMAKE 将 iPhone 4 ..rect 转换为 iphone 4s rect Xcode 的比率是多少

我曾经CGRECTMAKE将图像放置在“相机”屏幕上,想知道是否有计算比率可以将 4 图像位置转换为 4s

iphone 4 屏幕是 320 480 iphone 4s 屏幕是 640 960

我尝试将我的值加倍,但这似乎不起作用,所以认为有人可能知道转换它们的公式

当我将图像放置在相机屏幕上时,我无法使用AUTOLAYOUT或在屏幕上放置图像。尝试了这些但没有乐趣storyboard

提前致谢

0 投票
2 回答
48 浏览

objective-c - 对于某些按钮,Core Graphics 不会一直加载

我正在编写一个简单红色渐变的按钮背景,它在高度小于 100 时有效,但如果按钮大于该值,它将停止加载渐变,我不知道为什么。我正在使用 PaintCode(到目前为止,它的作用就像一个魅力)来绘制代码,然后我将渐变的大小从 更改为[UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, 240, 120) cornerRadius: 4];[UIBezierPath bezierPathWithRoundedRect: CGRectMake(0, 0, self.frame.size.width, self.frame.size.height) cornerRadius: 4];因为按钮的大小在 4.5" 和 5" 设备之间变化。我正在使用具有相同代码的其他渐变减去其他按钮上的颜色,它们工作得很好。只有当高度大于 100 pts 时我才发现问题。知道有什么问题吗?

这是我正在使用的代码:

编辑:这是按钮的屏幕截图:

0 投票
3 回答
24570 浏览

ios - CGRect根据中心点定位

我正在尝试为 iPad 应用程序创建多个视图。首先,我创建了一个菜单视图,然后根据菜单创建了一个带有坐标的子菜单视图。所以它看起来像这样:

在此处输入图像描述

我做了什么:

但现在在子菜单上,我正在尝试创建内容视图,它是一个 UINavigationController。尝试做同样的事情,我得到了这个结果:

在此处输入图像描述

我在做什么(这次在子菜单视图控制器上创建框架):

这是不言自明的,但是,我只是得到子菜单的原点并添加它的宽度,这样我就可以获得正确的边缘坐标。

经过多次尝试,我设法让它工作,因为我注意到 CGRectMake 正在使用 UINavigationController 视图的中心来安排它的位置。所以下面的代码:

产生正确的位置。

这是怎么回事?我认为 CGRectMake 原点总是在左上角,但在这个特别的观点上实际上是中上(或中中,不确定)。我做错了什么?

编辑1:

这是具有正确位置的框架的控制台输出:

在此处输入图像描述

注意导航栏现在是如何正确定位的:

在此处输入图像描述

但是 x 坐标不是 250(应该是,因为 menu.width + sub-menu.width = 250。)

编辑2:

我最终放弃了。问题在于由 UINavigationViewController 创建的自动生成的 UINavigationBar。我似乎无法弄清楚如何配置它。如果有人知道答案,我会留下问题。

0 投票
1 回答
97 浏览

objective-c - popViewController 上的箭头不去我告诉它的地方

我有一个 UIPickerController,当您单击按钮时会出现,尽管它上的箭头不会从底部改变位置,即使我使用UIPopoverArrowDirectionUp.

我想这一定很常见

提前致谢

0 投票
3 回答
759 浏览

ios - 一次移动多个对象 - iOS

我有一个包含大约 10 个对象的视图,并且我已经为它们设置了所有单独的标签。我想将它们全部向上移动 20 个点,使它们的原始 Y 位置减去 20,使用 for 循环并遍历每个标签。我知道我可以做类似的事情

但这需要我给出 X、Y、宽度和高度。所以我的问题是,我怎样才能找到所有对象的原始坐标并将 X、W 和 H 设置为原始坐标并且只将 Y 向上移动?

任何提示将非常感谢。

谢谢

0 投票
1 回答
549 浏览

objective-c - Cocos2d:测试碰撞,说两个精灵总是相交

您好,我正在制作 cocos2d 侧滚动条。我正在尝试测试两个精灵之间的碰撞。我检查了一下,我为精灵制作的矩形是它们应该是的,但它说这两个矩形总是相交,无论它们是否真的相交。这是代码:

这是更多代码:

0 投票
1 回答
188 浏览

ios - ios - 边框重叠的矩形

当我尝试绘制相互重叠的矩形时,我遇到了一个奇怪的问题。见下图:

在此处输入图像描述

如您所见,顶线比其他线(底线和垂直线)更清晰,特别是比分隔矩形的线更清晰。我使用了以下代码:

有什么建议吗?

0 投票
1 回答
107 浏览

objective-c - 从底部向上缩放 CALayer。(不是顶部)

我偶然发现了一个不应该太难解决的问题。但是,经过大量的试验和错误,我仍然没有找到解决方案。我有一个用 CGRectMake(20, 20, 40, 40) 创建的 CALayer。我现在想通过将特定值添加到 frame.size.height 和 frame.size.width 来向上缩放该图层,但是当我这样做时,该图层会向下缩放。我曾尝试修改锚点,将图层旋转 180 度++,但没有运气。希望对此有一些意见。

谢谢。

我想要的 vs 我得到的:

我想要的是 我得到了什么