New ZealandFawxy/CBPinEntryView
A SwiftUI view for entering pins, one-time codes, or passwords — accessible and autofill-ready.
📱 CBPinEntryView - Nhập mã nhanh, đẹp và tiện cho SwiftUI
Một thành phần nhập mã (PIN/OTP/mật khẩu) được thiết kế riêng cho SwiftUI, hỗ trợ tự động điền và tương thích truy cập phụ.
CBPinEntryView là một thành phần giao diện người dùng (view) được viết bằng Swift, giúp dễ dàng và mượt mà cho phép người dùng nhập các mã PIN, mã OTP hoặc mật khẩu. Thành phần này hỗ trợ chức năng xóa ký tự (backspacing), đóng bàn phím khi hoàn tất và tiếp tục nhập từ nơi người dùng dừng lại. Toàn bộ mã nhập sẽ được trả về dưới dạng một chuỗi (String) hoặc số nguyên (Int), đồng thời rất dễ dàng tùy chỉnh cả trong code lẫn thông qua storyboard.
✨ Điểm nổi bật
- Hỗ trợ nhập mã đa dạng: Cho phép nhập PIN, mã OTP, hoặc mật khẩu một cách trực quan.
- Tự động điền (Autofill-ready): Tích hợp sẵn hỗ trợ tính năng tự động điền từ hệ thống.
- Truy cập phụ (Accessible): Được thiết kế đảm bảo khả năng truy cập cho người dùng khuyết tật.
- Tùy chỉnh linh hoạt: Có thể dễ dàng tùy chỉnh giao diện và hành vi thông qua IBInspectable hoặc trựng code.
- Quản lý trạng thái lỗi: Hỗ trợ hiển thị lỗi người dùng bằng cách gọi
setError(isError: true)hoặc tắt bằngsetError(isError: false). - Chế độ nhập bảo mật: Hỗ trợ chế độ nhập mật khẩu an toàn với ký tự bảo mật tùy chỉnh (ví dụ: ● hoặc ✱).
- Giới hạn ký tự nhập vào: Cho phép thiết lập
allowedEntryTypesđể chọn giới hạn nhưany,numerical,alphanumeric, hoặcletters. - Lấy mã dưỡng dạng chuỗi hoặc số: Cung cấp phương thức
getPinAsString()vàgetPinAsInt()để lấy giá trị đã nhập.
💡 Vì sao đáng chú ý
Khác với cách nhập mã thông thường chỉ là một trường văn bản đơn lẻ, CBPinEntryView mang lại trải nghiệm người dùng mượt mà và trực quan hơn với từng ô nhập riêng lẻ. Đặc biệt, sự hỗ trợ tự động điền và khả năng truy cập phụ giúp giảm thiểu lỗi người dùng trong quá trình nhập mã, rất phù hợp cho các ứng dụng yêu cầu bảo mật cao như ví điện tử, ngân hàng điện tử hoặc xác thực hai yếu tố.
#SwiftUI #iOS #OTP #PINEntry #OpenSource #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
📝 CodeEdit App for macOS – Elevate your code editing experience. Open source, free forever.
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
A lightweight, pure-Swift library for downloading and caching images from the web.