UI相关知识

UGUI  相关事件

1: 判断是否点击 到UI上  :UI 上若无raycast target   也是未触摸到UI上

void Update()
	{
		if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0).phase == TouchPhase.Began))
		{
#if IPHONE || ANDROID
			if (EventSystem.current.IsPointerOverGameObject(Input.GetTouch(0).fingerId))
#else
			if (EventSystem.current.IsPointerOverGameObject())
#endif
				Debug.Log("当前触摸在UI上");
			
			else 
				Debug.Log("当前没有触摸在UI上");
		}
	}

 2:获取当前点击到的UI对象 这里使用遍历的方式 进行判断,

    /// <summary>
    /// 获得当前点击到的UI物体
    /// </summary>
    public GameObject Skode_GetCurrentSelect()
    {
        GameObject obj=null;
 
        GraphicRaycaster[] graphicRaycasters = FindObjectsOfType<GraphicRaycaster>();
 
        PointerEventData eventData = new PointerEventData(EventSystem.current);
        eventData.pressPosition = Input.mousePosition;
        eventData.position = Input.mousePosition;
        List<RaycastResult> list = new List<RaycastResult>();
 
        foreach (var item in graphicRaycasters)
        {
            item.Raycast(eventData, list);
            if (list.Count > 0)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    obj = list[i].gameObject;
                }
            }
        }
 
        return obj;
    }

3: RectTransform进行设置

  3.1改变RectTransform的top  

 3.2  改变RectTransfrom的PosX PosY PosZ

3.3 改变RectTransform的width,height

rectTransform.offsetMax = new Vector2(rectTransform.offsetMax.x, top);
rectTransform.anchoredPosition3D = new Vector3(0, 0, 0); //如果是左右拉伸可能设置y值无效,我们使用上面的方法
rectTransform.sizeDelta = new Vector2(width, height);

4: 关于 ToggleGroupo的使用

      4.1 当你动态生成Toggle 的时候,你会发现 默认最后一个toggle 的isOn 为true(即使你在一开始的时候将第一个isOn设置为true ,其他设置为false);

             解决方法 :在动态生成所有的toggle物体后,再设置第一个物体的ison为true 就可以了

    4.2 动态为toggle添加事件

          

toggle.onValueChanged.AddListener((isOn) =>
				{
					if(isOn)
                    {
						currenturl = url;
						Debug.Log(toggle+","+url);
//使用MediaPlayer 播放视频的时候 需要调用打开文件进行播放,不然无法博放
						if (!mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, url, mediaPlayer.m_AutoStart))
						{
							Debug.LogError("Failed to open video!");
							mediaPlayer.Play();
						}else
							mediaPlayer.Control.Play(); 
						
					} 
				}); 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
UI/UX设计知识地图是指UI(用户界面)和UX(用户体验)设计领域的知识和技能的结构化框架。它提供给设计师一个具体的指导,以便他们在设计过程中能够全面而系统地考虑到用户的需求和体验。 UI设计知识地图包括但不限于以下方面:设计原则、排版和色彩理论、用户界面组件等。设计原则涉及到设计的基本理念和原则,如简约、一致性、易用性等,这些原则可以帮助设计师在设计过程中做出合理的决策。排版和色彩理论则关注设计中文字和图形的布局、字体选择以及色彩运用,这些可以直接影响到用户对界面的感知和理解。用户界面组件则是指常见的各类界面元素,如按钮、表单、图标等,设计师需要了解这些组件的特点和使用方法,以便在设计过程中能够运用到合适的组件。 UX设计知识地图主要包括但不限于以下内容:用户研究、信息架构、交互设计等。用户研究是指设计师通过观察、访谈和调研等方式了解和分析用户需求和行为,以便为其提供更好的用户体验。信息架构则是涉及到如何组织和呈现界面中的信息,以便用户能够快速、准确地找到需要的内容。交互设计强调用户与界面的互动方式和体验,包括界面流程设计、导航设计等,目的是为了使用户与界面之间的交互更加顺畅和自然。 综上所述,UI/UX设计知识地图是一个涵盖广泛而详细的设计知识框架,它帮助设计师在设计过程中更加全面地考虑用户需求和体验,使设计作品更加符合用户期望,同时提升应用的可用性和用户满意度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值