看了一些网上的其他文章,看的比较晕,自己摸索着做了一遍,把几个要点列出来,方便遇到相同问题的人。 1-列出控件,按照下图的方式组织所有的控件,注意不要从GameObject菜单创建ScrollView,而是应该创建一个空的Panel添加ScrollRect组件 注意:Panel与ScrollBar同级,Text在Panel的子层级。
2-为Panel要添加两个组件 ScrollRect:他是实现滚动效果的。 注意要将Content字段,设置为Text,这表示,将Text作为滚动内容显示区 注意将Horizaontal取消勾选,只保留Vertical。 Mask:他的作用是,提供一个遮罩,让你只看到视口里面的内容,而看不到其他内容。
3-为Text添加一个Content Size Filter组件 这个组件是用来适配控件大小的,因为是垂直滚动,所以可以不要管第一个选项,只将Vertical Fit 设置为 perfect size.
4-注意设置Text的RectTransform里面的Povit为(0.5f,1)这样才能保证文字长度无论怎样变化,控件都是针对顶端对齐的。 这个就不截图了。
5-至此,基础功能已经做完了,拖动文字,就可以滑动整个文字区域了。一般来讲,滚动条对于手机而言,多为显示作用,很少有人真正去拖动滚动条去控制文字上下滑动,因为太难点到他了,如果一定要有滚动条,那么继续往下看。
6-设置滚动条: HandleRect和ColorTint里面的TargetGraphic一定都填写,ScrollBar下面的Handle物件。 方向填写BottomToTop,注意不要填反了。其他选项看心情随意调
7-回到Panel物件,上面的ScrollRect,将Vertical ScrollBar设置为你创建的ScrollBar
OK大功告成。
unity3d v5.1.1 ugui 带垂直滚动条的文本框http://www.cnblogs.com/zhaoqingqing/p/3973167.html?utm_source=tuicool http://blog.csdn.net/rcfalcon/article/details/43459387
看了这两篇帖子,还是他妈的不知道怎么做,但第一个帖子的作法我已经实现了帖子内容,第二个帖子完全实现不了,于是把第一帖和第二帖的内容结合起来搞定了,我就操了,一个带垂直滚动条的文本框都这么难做,能不能提供现成的?
一、在Canvas新建一个Panel,add scroll Rect和mask组件,Rect Transform设成 middle-center,因为这样才能设置大小和text控件相同大小 二、Panel下新建一个Text,Vertical Overflow设置成Overflow,然后add Content Size Fitter这个Layout,该Layout的Vertical Fit设置为Perferred Size,然后调整大小和在Panel中的位置 三、新建一个ScrollBar,不在Panel之下,和Panel并列,Direction设置成Bottan to Top。设置成Panel同样的高度,并挨在一起,这样看起来就是一个文本框右边带着一个垂直滚动条 四、Panel的Scroll Rect组件的Content指定Text,Vertical Scrollbar指定上面新建的ScrollBar。
没了。 如果使用代码修改Text的值,Scrollbar的大小也会变化。
|
|
来自: 勤奋不止 > 《游戏引擎unity》