Skip to content

Suggestion for check input for macOS (only number) #3

Description

@DevulderJeanPaul

Hi,

I have add a simple function for check input on the NSTextField (macOS only)

Add this extension

extension String {
func isNumber() -> Bool {
    return !self.isEmpty && self.rangeOfCharacter(from: CharacterSet.decimalDigits) != nil && self.rangeOfCharacter(from: CharacterSet.letters) == nil
}}

Add this code on the stepper view class

func
_evt(_ e:NSEvent) -> NSEvent?
{
    if e.type == .keyDown
    {
        if let s = e.characters
        {
            if s.rangeOfCharacter(from: CharacterSet.alphanumerics) == nil
            {
                return e
            }
            
            if s.isNumber()
            {
                return e
            }
            
            return nil
        }
    }
    
    return e
}

public func
use_filter()
{
    NSEvent.addLocalMonitorForEvents(matching: [.keyDown], handler: _evt)
}

Call method use_filter()

mystepper1. use_filter()

Now you can hit only number in NSTextField (alphanumbers are correct check but if you hit "%" doesn't work!)

May be is utile for you in future version ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions