前言:有的时候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. iOS:Objective-c的MD5/SHA1加密算法的实现

    介绍: Objective-c实现MD5和SHA1算法相对还是比较简单的,可以直接调用系统的C/C++共享库来实现调用MD5即Message Digest Algorithm 5(信息-摘要算法 5) ...

  2. 模板:什么是Traits

    Traits不是一种语法特性,而是一种模板编程技巧.Traits在C++标准库,尤其是STL中,有着不可替代的作用.   如何在编译期间区分类型   下面我们看一个实例,有四个类,Farm.Worke ...

  3. Crontab命令--Linux

    Crontab命令--定时任务   命令格式 Example:  

  4. Andrew Ng机器学习课程6

    Andrew Ng机器学习课程6 说明 在前面尾随者台大机器学习基石课程和机器学习技法课程的设置,对机器学习所涉及到的大部分的知识有了一个较为全面的了解,可是对于没有动手敲代码并加以使用的情况,基本上 ...

  5. 【BIEE】17_仪表盘提示中值按顺序显示

    我们在使用仪表盘提示的时候,常常会遇到这种问题,客户需要将一些常见的放在最上边,这样方便显示 例如:现在有数据库表如下 我们需要在提示中展示机构名称,我们如下新建提示 展示效果如下: 我们从上图可以看 ...

  6. Visual studio C++ MFC的库函数末尾添加“A”和“W”的意义

    背景 在使用Visual studio C++ MFC库函数ModifyMenu(...)函数,在Visual studio自动代码补全里提示没有ModifyMenu(...)这个函数,倒是有Modi ...

  7. Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别

    如果java提供的系统异常类型不能满足程序设计的需求,那么可以设计自己的异常类型. 从java异常类的结构层次可以看出,java类型的公共父类为Throwable.在程序运行中可能出现俩种问题:一种是 ...

  8. iOS开发-项目的完整重命名方法,图文教程。

    前言:在IOS开发中,有时候想改一下项目的名字,都会遇到很多麻烦.直接改项目名吧,XCODE又不会帮你改所有的名字.总是有很多文件.文件夹或者是项目设置的项.而且都是不能随便改的,有时候改着改着,编译 ...

  9. CefSharp.WinForms

    CefSharp.WinForms 一.  前言 银医通项目,现在另外一家医院需要上系统,所以项目需要重新搭建,由于这家医院的His系统和另外一家医院的His系统不同,界面风格也不一致,所以重新搭建, ...

  10. src和href使用总结

    src img 图片 <img src="/img/1.png" alt="1" /> rame iframe 框架集 <iframe src ...