StyleGuide Sample 완료

This commit is contained in:
logonkhi
2026-01-13 20:39:45 +09:00
parent c8ff7b503d
commit ee86f93814
47 changed files with 20319 additions and 88 deletions

View File

@@ -9,6 +9,47 @@ namespace UVC.UIToolkit
/// 입력 필드 컴포넌트.
/// Unity TextField를 래핑하여 커스텀 스타일을 적용합니다.
/// </summary>
/// <example>
/// <para><b>C# 코드에서 사용:</b></para>
/// <code>
/// // 기본 입력 필드
/// var input = new UTKInputField();
/// input.Label = "이름";
/// input.Placeholder = "이름을 입력하세요";
/// input.OnValueChanged += (value) => Debug.Log($"입력값: {value}");
///
/// // 비밀번호 입력 필드
/// var password = new UTKInputField();
/// password.Label = "비밀번호";
/// password.isPasswordField = true;
///
/// // 검증 오류 표시
/// input.SetError("이름은 필수입니다.");
/// input.ClearError();
///
/// // 변형 스타일
/// input.Variant = UTKInputField.InputFieldVariant.Outlined;
/// </code>
/// <para><b>UXML에서 사용:</b></para>
/// <code>
/// <ui:UXML xmlns:utk="UVC.UIToolkit">
/// <!-- 기본 입력 필드 -->
/// <utk:UTKInputField label="이름" />
///
/// <!-- 플레이스홀더 -->
/// <utk:UTKInputField label="이메일" Placeholder="example@email.com" />
///
/// <!-- 비밀번호 필드 -->
/// <utk:UTKInputField label="비밀번호" is-password-field="true" />
///
/// <!-- 여러 줄 입력 -->
/// <utk:UTKInputField label="설명" multiline="true" />
///
/// <!-- 비활성화 -->
/// <utk:UTKInputField label="읽기전용" IsEnabled="false" value="수정 불가" />
/// </ui:UXML>
/// </code>
/// </example>
[UxmlElement]
public partial class UTKInputField : TextField, IDisposable
{
@@ -133,6 +174,12 @@ namespace UVC.UIToolkit
SetupStyles();
SetupEvents();
SubscribeToThemeChanges();
// UXML에서 로드될 때 속성이 설정된 후 UI 갱신
RegisterCallback<AttachToPanelEvent>(_ =>
{
UpdateVariant();
});
}
public UTKInputField(string label, string placeholder = "") : this()