前言:有的时候Panel会被截取,里面的内容就不能显示完整,所以需要为其添加 scroll view组件。

一:将Panel放进一个scroll view只需要简单的3步:

  1.首先在UI Root下创建三个Sprite并为其设置不同的贴图。

  

  2.在UI Root下创建一个panel,然后在Scene界面中的panel上右键鼠标,在弹出的菜单中选择Attach -> Scroll View。

  

  3.然后在Hierarchy中将创建的三个Sprite拖动到panel下。

  

  3.通过拖动紫色按钮,即可改变scroll view的大小。

  3.最后一步,添加拖动脚本。添加拖动脚本之前,需要为控件添加一个随意的碰撞脚本,因为没有碰撞事件,是无法使用拖动脚本的。

  可以为panel添加这个两个脚本,或是为panel里的每个item添加这个两个脚本:

  这里选择的是为每个item添加这两个脚本:

  右键Sprite对象 Attach——>Box Collier:

  

  右键Sprite对象 Attach——>Drag Scroll View拖动脚本:

  

  最后效果图如下:

  

二:提示

  1.如果panel中有多个item时,想要将拖动事件添加到item上,必须为每一个item添加碰撞脚本和拖动脚本。

  2.如果为panel添加碰撞组件和拖动组件的时候,一定要调节碰撞组件的大小,否则点击可能没有效果。

  

  3.为panel或是item添加Drag Scroll View组件的时候,可以在Scene中右键然后Attach -> Drag Scroll View即可。

  4.UIPanel中有一个属性是Cliping,这个属性值建议选择Soft Clip

  

  这个功能还是很强大的,在显示范围之外的item将不显示,算是节省的内存资源吧。

  

三:Scroll View属性分析

  

  1.Content Origin:控制panle相对Scroll View的位置。

  2.Movement:控制Scroll View滑动的方向,是水平还是垂直,或是随意滑动(Unrestricted ),或是自定义延X,Y滑动(Custom );

  3.Drag Effect:拖动的效果,MomentumAndSpring这个效果就是IOS会弹的效果。

  4.Scroll Wheel Factor:鼠标滑轮滚动速度。

  5.Momentum Amount:滑动后,自动滑行的距离。

  6.Restrict Within Panel:如果选择了,则panel不会滑出Scroll View。比如向左滑动,panel右边和Scroll View的右边可重合。

  7.Cancel Drag If Fits:增加什么阻力的。

  8.Smooth Drag Start 和IOS Drag Emulation:滑动的感觉不错,体会下。

  9.Scroll Bars:添加滑动条控件。使用方法

  没有添加Scroll Bars的实例下载地址:http://download.csdn.net/detail/as294985925/7304381 

  界面路径:

   

  

Unity3D学习笔记——NGUI之UIScrollView的更多相关文章

  1. Unity3D学习笔记——UIScrollBar和UIScrollView使用

    UIScrollBar和UIScrollView结合使用效果图如下: 一:使用步骤  1.创建一个UIScrollView   2.然后创建一个UIScrollBar 3.打开UIScrollView ...

  2. Unity3D学习笔记——NGUI之Localization system

    Localization system(国际化系统) 实现的就是用户选择不同的语言,切换我们游戏文字的显示. 一:创建一个CVS文件.可以用Google Docs, Excel等软件工具. 我这里用的 ...

  3. Unity3D学习笔记——NGUI使用常见问题

    一:在Scene中右键创建UI组件. 首先要确定NGUI中的红框能看见,我的就是之前无法现实红框,所以右键无法新建UI组件, 原因是:UIPanel没启用. 启用方法: 启用前和启用后NGUI界面对比 ...

  4. Unity3D学习笔记——NGUI之Property Binding

    Property Binding:用于绑定两个组件,然后可以将一个组件的信息发送给另一个组件. 效果图如下: 一:使用步骤 1.建立一个Sprite 2.建立一个Label 3.为Sprite添加Pr ...

  5. Unity3D学习笔记——NGUI之UITable

    UITable:这个控件可以方便的排列其他小组件,并能控制小组件之间的距离. 效果如下: 这个控件的效果和UIGrid很相似,区别是UIGrid能控制每个小组件的大小,而这个 控件控制的是小组件之前的 ...

  6. Unity3D学习笔记——NGUI之UIGrid

    UIGrid:这个组件可以轻松的让你排列你的组件,并且在运行或是编辑的时候都可以. 效果图如下: 一:使用步骤 1.选择一个panel然后右键Create——Grid 2.为Grid创建几个子Spri ...

  7. Unity3D学习笔记——NGUI之UIInput

    UIInput:这个组件可以用于创建输入框和编辑文本. 效果图如下: 一:使用步骤 1.首先创建一个背景,可以用Sprite也可以是Widget. 我这里使用的是空白的Widget 2.为其添加一个L ...

  8. Unity3D学习笔记——NGUI之UIPopupList

    UIPopupList:将这个组件添加到Button上,即可构建一个下拉列表. 效果图如下: 一:使用步骤 1.首先创建一个Sprite作为button. 2.创建一个label,用于显示当前选择的选 ...

  9. Unity3D学习笔记——NGUI之UIScrollBar

    UIScrollBar:这个组件可以用于创建滚动条. 效果图如下: 一:使用步骤 1.这个组件和UISlider很像,也是由三部分组成. 2.首先创建一个Sprite用于组件的背景色. 3.创建第二个 ...

随机推荐

  1. C# 操作mongodb 简单实例

    本实例主要简单的查询,新增,修改和删除操作,完整代码如下: using System; using System.Collections.Generic; using System.Text; usi ...

  2. 为甚么要将某个方法声明为final呢?

    他可以防止其他人覆盖该方法.但更重要的一点或许是:这样做可以有效的"关闭"动态绑定,或者说, 告诉编译器不需要对其进行丰台绑定.这样,编译器就可以为final方法调用生成更有效的代 ...

  3. 转:ios的crash框架方法论

    http://www.cocoachina.com/ios/20150701/12301.html 1. 其中提到的提高ios崩溃率的用法.

  4. EffectiveJava(22)JAVA四种嵌套类的特点及用法

    嵌套类: 1.静态成员类 静态成员类是外围类的一个静态成员,遵守同样的可访问性规则 用法:a.作为公有的辅助类 内部类: 2.非静态成员类 语法上只和静态成员类的唯一区别是少一个static修饰符 a ...

  5. $ 和getElementId的区别 / 一个jquery对象的原型

    请说出 div 和 $div 的联系和区别 区别 div 返回一个HTML DOM Object $div 返回一个 jQuery Object, 两者不等价 $div是包装了dom对象后产生的,无法 ...

  6. POJ3525-Most Distant Point from the Sea(二分+半平面交)

    Most Distant Point from the Sea Time Limit: 5000MS   Memory Limit: 65536K Total Submissions: 3955   ...

  7. odoo8编辑视图中sheet边距过宽问题调整

    在Odoo8的Form视图中,预设有一个sheet的边距,这样看起来像是在一页纸上录入信息,但因为现在的显示器比较宽,预设的sheet宽度比较小,这样看起来就浪费了大量的空间,尤其是明细字段比较多的时 ...

  8. Photoshop - 描边

    描边在后期的UI制作的时候会比较少用,因为有一些缺陷,可以用选取收缩 1.快捷键E + S  (菜单栏-编辑-描边.photoshop cc) 2.使用图层样式进行描边(双击图层列表区域,图层缩略图的 ...

  9. iOS 核心动画 Core Animation浅谈

    代码地址如下:http://www.demodashi.com/demo/11603.html 前记 关于实现一个iOS动画,如果简单的,我们可以直接调用UIView的代码块来实现,虽然使用UIVie ...

  10. strults2标签s:set的用法

    struts2标签<s:set></s:set>的用法.原理 http://liuna718-163-com.iteye.com/blog/1124654     我的例子: ...