问题标签 [scrollrect]

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

unity3d - 如何使用 Unity 场景滚动到 ScrollRect 中的特定 textField 元素

我是团结的初学者。当我尝试在具有多个文本字段的单个场景中创建表单时。对于键盘,如果我选择场景屏幕中的最后一个文本字段,我还需要启用下一个按钮应该移动到特定的文本字段。在 iOS 中,我们有 TPKeyboardAvoidScrolling 框架来减少工作量。我们是否有任何框架或任何人请提出一些例子。

0 投票
1 回答
59 浏览

swift - ScrollRectToVisible 显示匹配的搜索字符串以滚动到 UITextView 的中间视图

我有一个用来显示详细文本的 UiTextView。有时文本可能足够长以滚动浏览它。有时文本可能足够短,以至于它适合 UITextView 的框架。

我还实现了一种搜索功能,可以用来搜索更长的文本字符串。该函数将字体颜色属性添加到与搜索输入字符串匹配的文本中。该函数为每个匹配的搜索字符串输入收集一组 NSRange 值。我正在使用正则表达式来匹配搜索字符串并为每个匹配返回 NSRange 值的数组。

我目前正在开发一个将用户动画到匹配搜索字符串的 UITextView 位置的函数。

稍后我将提供一个按钮,用户可以单击以循环查看匹配项。

到目前为止,一切都运行良好。请参阅下面的代码。 detailText是 UITextView:

虽然代码运行良好,但匹配的文本显示在生成的 UITextView 框架的底部。我希望匹配的文本出现在视图的中间。我尝试了以下有点工作的代码:

仅当匹配的文本范围位于较大的多行字符串的中间时,contentOffset才能按预期工作。如果匹配的文本范围位于字符串的开头,则实现contentOffset 会将用户滚动超过匹配的文本 200。基本上,匹配的文本会滚动到视图之外。那不好。如果匹配的文本位于多行文本的末尾,则contentOffset会添加更多空格以将匹配的文本定位在视图的中间。这两种结果都是不希望的。我可以接受后者,但前者不好,因为它会将第一个匹配的文本向上滚动到视线之外。

我在堆栈溢出上搜索了类似的问题,但找不到。如果确实存在,请指出。如果没有,欢迎提出任何建议。

0 投票
1 回答
724 浏览

unity3d - ScrollRect 上的掩码不会隐藏滑块之外的子网格对象(但适用于文本)

我有一个滑块滚动矩形对象,我在运行时用一堆预制的太空船设备和武器填充它。预制件具有文本对象(例如设备描述)以及网格对象。我遇到的问题是,当玩家滚动浏览预制件并且他们滑出 scrollrect 周边时,文本被隐藏(应该如此),但网格没有被隐藏!

这是场景设置: https ://i.stack.imgur.com/sR97f.png

任何想法我做错了什么?

0 投票
0 回答
2288 浏览

android - Unity 2019.4.4f1 ScrollView ScrollRect 不会使用 ScrollBar 滚动,但可以使用鼠标滚轮

我在单击对象时出现的面板上有一个带有 ScrollRect 的 ScrollView。内容有一个 ContentSizeFitter 和一个 GridLayoutGroup 3 列。我有 9 张图像预先填充为内容的子项。一切都很好,9 幅图像创建了一个 3x3 的网格,可以按预期垂直滚动。问题是它滚动的唯一方法是使用鼠标滚轮。单击/拖动 ScrollBar 句柄表示该句柄已被单击(即,它在选定时变暗),但它不会移动/滚动。部署到触摸屏设备时出现同样的问题(除了没有鼠标滚轮,因此根本无法滚动)。

有任何想法吗?

以下是我的设置的一些屏幕截图:

ScrollView - 检查器

内容 - 检查员

0 投票
0 回答
39 浏览

actionscript-3 - AS3:ScrollRect 不从两点移动而不跳帧内容

我在 AS3 项目中使用 Spritesheet,并从使用资源繁重的方法将位图切割成每个帧然后存储它们升级到使用 scrollRect 以便它只显示所需的帧。在节省大量资源的情况下,这几乎可以正常工作。

也就是说,存在一个问题,因为通过 scrollrect 显示的精灵现在像疯了一样跳来跳去。Spritesheets 已经过检查并且没有问题,并且在只有一行精灵的小板上接缝没问题,所以只有 X 轴被移入。

然而,在较大的角色上,比如主角,如果有超过一排,那就更糟了。当精灵被加载时,它被赋予了相关精灵的高度和宽度的值,然后它计算出工作表中有多少精灵(计算后来被忽略的空格)并将值放入一个点数组中。精灵大小合适,所以每帧都是 480 宽 x 631 高(我知道这不是 2 的平方,但我认为这没有问题)。

制作该数组的代码非常简单,如下所示:

每次更改为新工作表时都会给出位图数据,并且工作正常,它还会检查以确保在不需要时不会将其更改为新工作表。scrollRect 完成了从点数组(SpriteOffsets)传递 X 和 Y 值以及给出精灵的宽度和高度,因此它知道完整大小。然后将其设置为 cacheAsBitmap(以确保)并打开平滑。

问题似乎有点奇怪..好像它试图做一个缩放并且经常搞砸它是一个像素,有时更多。缩放播放器窗口时,它似乎也会以不同的方式影响它的输出量。它似乎只是 Y 轴。

当对位图数据使用透明的 PNG 源时,它似乎也“捕捉”到帧的顶部,而不是显示所有内容,包括空白行。

我用于 Scrollrect 的代码只是:

其中 Spriteoffset 位从 SpriteOffset 数组调用,该数组存储(并且我已经检查过)帧开始的正确 X 和 Y 位置,并且 RSpriteWidth 和 RSpriteHeight 是帧的高度和宽度,对于所有帧都是静态的. 因此,我所理解的一切都是相当典型的创造之类的东西。

真的,这是我第一次尝试升级到使用滚动矩形,虽然有很多优点..这个接缝给我带来了一个巨大的问题..

我试图手动计算精灵偏移量并考虑到这一点,它也曾一度出现,矩形实际上太高了 1 个像素,尽管被告知了正确的像素数,所以我试图只是将高度降低 1 但无济于事。

感谢您提供任何帮助或建议。

0 投票
1 回答
334 浏览

unity3d - 在滚动矩形中组合文本和按钮

我正在尝试创建一个可滚动的 UI 对象,它有 2 个部分,一个在另一个部分:一个文本部分和一个按钮列表部分。我的主要问题是按钮的文本和列表的大小会根据播放器正在查看的内容而变化。

似乎只是将文本和按钮扔到一个空的 UI 对象中是行不通的,因为空的游戏对象不会占用其子对象的大小,并且由于空对象没有自己的大小,因此滚动其内容不可能。

是否有一个我不知道的元素可以帮助我?

0 投票
0 回答
234 浏览

c# - Unity Scroll Rect 在倒置蒙版下不起作用

在本教程的帮助下,我试图在我的主菜单中实现一种缩小效果。

这带来了很多问题,因为其他统一组件似乎不喜欢这种解决方案。但是大多数问题都可以通过一种或另一种方式解决,但我在这个问题上遇到了严重的麻烦:我试图在面具之外有一个滚动矩形(因为它是倒置的)但是因为你不应该能够拖动蒙版之外的项目 我的项目在可见时不可拖动。

我尝试使用普通图像而不是反转图像,只移除了遮罩,因此似乎没有任何面板或类似物阻挡光线投射。我也试过删除滚动视图 - 视口蒙版,但仍然没有......

游戏对象的层次结构

我的游戏视图,白色圆圈是滚动矩形的内容,指纹圆圈是按下播放时展开的主菜单掩码

这是反转蒙版图像的代码:

如果我提供的信息太少,请告诉我,我会尝试添加更多信息

0 投票
1 回答
50 浏览

c# - Scroll Rect 仅由于鼠标移动而滚动。如何解决?

统一2019.1.0f2

输入系统 1.0.2

  1. 我创建了一个空的 3D 项目,然后将输入系统导入其中。
  2. 我将 EventSystem 添加到场景中。
  3. 然后我编写了一个简单的脚本并将其添加到场景中:
  1. 然后我运行场景并移动鼠标(不要旋转鼠标滚轮)并在控制台中看到:

在此处输入图像描述

同样在输入系统的文档中,我发现了这一点:

在此处输入图像描述

由于此功能,Scroll Rect 开始滚动只是因为我将鼠标指针移到它上面。

如何避免这种情况,为什么会发生这种情况?

0 投票
1 回答
33 浏览

unity3d - 滚动时缩放和更改颜色 UI

我有 ScrollRect 里面有数字(工作正常)我想要当任何数字位置在蓝色的图像中而不是数字改变颜色(红色)并且增加字体大小我不知道如何实现请帮助

在此处输入图像描述

0 投票
1 回答
27 浏览

c# - 保存当前 Scrollrect 位置 Unity3D

我是 Unity 和 C# 的新手,我对如何保存当前的 scrollrect 位置有疑问。示例:我正在滚动视图,然后移动到另一个场景,然后返回上一个场景,但滚动显示了我移动场景之前的上一个位置,而不是将滚动重置为默认值。