2015-06-14 17 views
6

Tôi đang sử dụng IB Intspectable Int in Swift để chọn giữa 4 bốn hình (0-3), tuy nhiên có thể trong trình chỉnh sửa bảng phân cảnh để đặt giá trị lớn hơn 3 trở xuống hơn 0, dừng hệ thống IBDesignable hoạt động.Cách đặt giới hạn tối đa cho IBInspectable Int

Có thể đặt giới hạn tối thiểu và tối thiểu cho những giá trị nào có thể được đặt trong trình chỉnh sửa bảng phân cảnh không?

let SHAPE_CROSS = 0 
let SHAPE_SQUARE = 1 
let SHAPE_CIRCLE = 2 
let SHAPE_TRIANGLE = 3 

@IBInspectable var shapeType: Int = 0 
@IBInspectable var shapeSize: CGFloat = 100.0 
@IBInspectable var shapeColor: UIColor? 

Trả lời

8

Không có cách nào để giới hạn những gì người dùng có thể nhập vào Bảng phân cảnh. Tuy nhiên, bạn có thể ngăn chặn các giá trị không hợp lệ từ được lưu trữ bằng cách sử dụng bất động sản tính:

@IBInspectable var shapeType: Int { 
    set(newValue) { 
     internalShapeType = min(newValue, 3) 
    } 
    get { 
     return internalShapeType 
    } 
    } 

    var internalShapeType: Int = 0 

Sau đó, bạn cũng có thể sử dụng một enum thay vì hằng số để đại diện cho các loại hình khác nhau của bạn trong nội bộ.

Các vấn đề liên quan