问题标签 [bounds]

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 回答
221 浏览

generics - Scala:将泛型类型参数约束为另一个参数中的类型

我仍在努力掌握 Scala 语言,所以请耐心等待我和我所有的问题。

我可以从一个类型参数中引用另一个类型参数的抽象类型吗?例如,有没有一种方法可以使以下代码工作?我在这里试图实现的本质是 C 的 MAP 参数的 KEY 应该是参数 T 的 SomeType。

0 投票
2 回答
311 浏览

iphone - 在 UIView 的子类中缓存 self.bounds

我正在继承 UIView 以通过覆盖 drawRect: 来制作自定义视图。我需要找到一个等于视图宽度 10% 的点。当然,这个距离计算起来很简单(self.bounds.size.width/10.0f)。我想缓存这个值,也就是说,我想把这个值存储在一个实例变量中,以避免必须在每个 drawRect: 上计算它。

我将在什么方法中存储这个值?我正在考虑只在 initWithFrame: 中保存变量的值,但是在任何类型的调整大小之后,缓存的值都会与视图的宽度不同步。

关于缓存视图宽度的最佳位置是什么的任何想法......以及是否可以这样做?

0 投票
1 回答
626 浏览

iphone - 在iOS中改变UIView的bounds属性,然后渲染图像

在我的应用程序中:

  • 我有一个带有 clipsToBound = YES 的视图(UIView *myView);

  • 我有一个按钮可以更改 bounds 属性的来源:

  • 然后我从视图中获取图像:

它产生了我没想到的图像。我想要在 iPhone 屏幕上看到的图像。

此处的代码链接: http ://www.mediafire.com/?ufr1q8lbd434wu1

请帮我!

0 投票
2 回答
1828 浏览

iphone - iPad 上的 iOS 触摸(自动)偏移

几乎没有关于此的信息,所以这是我的问题:

我正在开发一个 2 人“坐在对面”的 ipad 游戏,而对面的玩家很难点击按钮……因为苹果似乎会根据设备方向自动切换触摸(这非常适合常规使用或主要播放器)。有没有办法重置它或告诉ipad不要这样做?(顺便说一句,iPhone 也这样做)

这就是我所发现的: 鉴于这种明显的不一致,我决定通过打开移动部件的“边界”来欺骗它,以便在部件区域下方有一个区域供用户点击。总的来说,用户似乎是在一个物体的下方而不是在它的上方——所以不要太注意由 iOS 引起的移动。

因此,如果没有简单的方法来防止偏移,那么为对方玩家移动每个 uiview(或子类)边界的唯一解决方案是什么?或者这甚至是正确的?

任何答案表示赞赏。

0 投票
2 回答
141 浏览

ios - iOS:如何确定超级视图布局中视图的大小?

查看截图

当我使用 self.view.frame.size.height 时,它会获取子笔尖的高度,而不是视图如何适应整体布局的高度。我使用 self.view.bounds.size.height 和 super.view.bounds.size.height 得到相同的值。

任何帮助,将不胜感激。

0 投票
1 回答
2491 浏览

java - 在组件边界之外绘制

我正在制作一个组件(扩展 JComponent),它将在其顶部绘制一些装饰,部分在其边界之外。

我想知道是否有一种使用自包含代码在组件外部绘制的方法(例如,我不想在父容器中进行任何绘制)。

0 投票
4 回答
289 浏览

c++ - C++ 字符串溢出

这是“从 C++ 开始 - 从控制结构到对象,6e”第 586 页的代码修改版本:

现在运行程序并输入“aaaabba”。

现在,我专门尝试在这里引入不正确的内存写入。例如,我声明 char 数组大小为 5,但在提示时输入超过 4 个(5 减去 \0 的长度)字符。

假设系统在“userString”之后为“letter”分配了内存,那么当我向“letter”写入内容时,它应该覆盖“扩展”用户字符串中的相应位置。

所以内存应该是这样的:[a][a][a][a][\0][b][a][\0]。

然后,当我运行 countChars 函数时,根据本书,它应该停在 '\0' 字符处,即前四个 a 之后。

按照这个逻辑,它应该输出字符串中有 4 个 a。

实际上,程序说有 5 个 a。

我的推理错误在哪里?

编辑#1:这不是书中的代码。这是修改后的代码。

编辑#2:我专门更改了代码以引入字符串溢出。我是故意这样做的,因为我想看看记忆是否真的像我想的那样工作。所以我想听到的是关于为什么这个错误不能像我期望的那样工作的可靠解释。

编辑#3:编译器确实抱怨堆栈损坏,但我按“继续”,因为我想看看会发生什么。

谢谢你。

0 投票
1 回答
104 浏览

flash - Flash 游戏世界限制

我将使用 Starling 框架在 Flash 上制作平台游戏。我不会它是一个独立的版本,安装版本。有没有人对此主题有任何建议,特别是我感兴趣的:

  • 如何使 Flash 项目可安装
  • 我应该使用什么分辨率?不要在不同的显示器上缩放游戏
  • flash的世界可以有多大,我是说flash专业版,最大宽度可以到2880像素,可以增加吗?为了让角色走得更远,比如在游戏“哔”中http://www.youtube.com/watch?v=gFxaovfxbnY&feature=related
0 投票
1 回答
373 浏览

c - 夹板边界检查的奇怪行为

有夹板专家吗??我正在尝试使用夹板静态分析我在 C 中拥有的大型项目。我看到过多的边界检查错误显然不是边界错误。我编写了一个小测试程序来尝试隔离问题,并在对代码运行夹板时注意到一些非常奇怪的警告。我有3个不同的例子。这是第一个:

当我按预期使用时,arr[3]分配会生成一个警告+bounds,但当我使用+likely-bounds. +likely-bounds甚至做什么?它似乎不起作用。第二个例子:

在此示例中,夹板抱怨我正在读取数组边界之外的内容(“A memory read references memory超出了分配的存储空间。”)var = arr[i]尽管我显然不是。这应该是一个警告,因为数组中的值没有初始化,但这不是我得到的警告。初始化数组中的最后一个值将清除错误(但初始化第一个或第二个不会)。难道我做错了什么?在第三个例子中:

生成警告arr[3] = 0,但不生成警告var = arr[i],即使循环显然超出了数组的边界。看起来写入数组末尾会扩展夹板认为数组的大小。这怎么可能?

简而言之,我的问题是:

  1. 可能边界标志有什么作用?
  2. 有什么方法可以让夹板给我与越界有关的合法错误?
  3. 有什么方法可以使夹板不会增加访问超出其界限的数组的大小?目前,夹板报告了 750 多个警告,我没有时间一一验证每个警告。
0 投票
2 回答
2071 浏览

ios - UIScrollView 交互区域不随 frame/contentSize 更新

我有一个 UIScrollView,它以纵向方面开始,随后(在设备旋转之后)移动到另一个横向方面的帧。

因此,内容视图(UIScrollView 内的 UIView)被更新,我设置了 UIScrollview 的 contentSize。

问题是 - 旋转后 - UIScrollView 有一个新框架、新内容和新 contentSize 但用户可以在其中滑动的区域仍然表现得好像它是原始框架/内容。

图 1 显示了原始方面 / 图 2 显示了新的方面,其中奇数区域可供用户滑动手势使用。

滚动视图的原始方面 新方面

正如您可能期望的那样,我已经摆弄了滚动视图中的许多设置,例如边界等,但迄今为止还没有“修复”这种行为。

任何关于为什么会发生这种行为和/或如何将用户交互区域设置为滚动视图的框架/边界的见解将不胜感激。

编辑2:

此层次结构中有 3 个视图
Lanscape
mainView Frame {0,0,1024,748}
resultsView Frame {633,90,361,677}
scrollView Frame {20,60,340,595}

纵向
主视图框架 {0,0,532,1240} <--- 哇哦,我期待.... {0,0,768,1004}
结果视图框架 {0,659,768,345}
滚动视图框架 {0,70,768,280}

在这一点上,我进入了项目中的每个笔尖,并确保关闭了自动调整大小,并且我还用不同的数字标记了每个视图,以便在检查帧时我可以确定我是什么看着。

堆栈中的顶级视图是自动调整大小,现在关闭它,我得到了肖像结果..

主视图框架 {0,0,768,1004} ..... 是的!获胜.....
结果视图框架 {0,659,768,345}
滚动视图框架 {0,70,768,280}

编辑1:

将调整大小掩码设置为下面的注释会减小滚动视图的可见大小以匹配交互区域 - 因此看起来滚动视图确实认为它的框架只是那个大小(768 看起来像 468 左右)。增加框架的宽度确实会增加滚动视图的大小,但是全宽只有768 像素,那么为什么 768 宽的框架看起来像 468,而 686 的框架看起来像 568?