Fix AspectRatioLayoutElement min axis length.

This commit is contained in:
2022-10-08 14:27:51 +08:00
parent 5fb135bfa5
commit 7bf7291ae8
2 changed files with 4 additions and 11 deletions

View File

@@ -31,9 +31,7 @@ namespace Cryville.Common.Unity.UI {
public float minWidth { public float minWidth {
get { get {
return m_isVertical return m_isVertical ? 0 : (transform as RectTransform).rect.height * m_aspectRatio;
? (transform as RectTransform).rect.width
: (transform as RectTransform).rect.height * m_aspectRatio;
} }
} }
public float preferredWidth { get { return minWidth; } } public float preferredWidth { get { return minWidth; } }
@@ -41,9 +39,7 @@ namespace Cryville.Common.Unity.UI {
public float minHeight { public float minHeight {
get { get {
return m_isVertical return m_isVertical ? (transform as RectTransform).rect.width / m_aspectRatio : 0;
? (transform as RectTransform).rect.width / m_aspectRatio
: (transform as RectTransform).rect.height;
} }
} }
public float preferredHeight { get { return minHeight; } } public float preferredHeight { get { return minHeight; } }
@@ -61,7 +57,7 @@ namespace Cryville.Common.Unity.UI {
} }
protected override void OnDisable() { protected override void OnDisable() {
LayoutRebuilder.MarkLayoutForRebuild(transform as RectTransform); SetDirty();
base.OnDisable(); base.OnDisable();
} }
@@ -80,10 +76,8 @@ namespace Cryville.Common.Unity.UI {
SetDirty(); SetDirty();
} }
#pragma warning disable IDE0051 protected override void OnValidate() {
new void OnValidate() {
SetDirty(); SetDirty();
} }
#pragma warning restore IDE0051
} }
} }

View File

@@ -1,5 +1,4 @@
using UnityEngine; using UnityEngine;
using System.Collections;
using UnityEngine.UI; using UnityEngine.UI;
namespace Cryville.Common.Unity.UI { namespace Cryville.Common.Unity.UI {