3

请找到以下对我不起作用的代码。

 @IBInspectable var pasteOption: Bool = true {
        didSet {
            func canPerformAction(action: Selector, withSender sender: AnyObject) -> Bool {
                if action == "selectAll:" {
                    return pasteOption
                }
                if action == "select:" {
                    return pasteOption
                }
                if action == "cut:" {
                    return pasteOption
                }
                if action == "copy:" {
                    return pasteOption
                }
                if action == "paste:" {
                    return pasteOption
                }
                return super.canPerformAction(action, withSender: sender)
            }
        }
    }

我想禁用剪切、复制、粘贴在我UITextfield使用IBInspectable的 .

4

1 回答 1

1

您需要像这样定义您的 var:

@IBInspectable var pasteOption: Bool = true

然后像这样覆盖你UITextFieldcanPerformAction函数:

override func canPerformAction(action: Selector, withSender sender: AnyObject?) -> Bool {
    if action == "selectAll:" {
        return pasteOption
    }
    if action == "select:" {
        return pasteOption
    }
    if action == "cut:" {
        return pasteOption
    }
    if action == "copy:" {
        return pasteOption
    }
    if action == "paste:" {
        return pasteOption
    }
    return super.canPerformAction(action, withSender: sender)
}

通过这样做,您可以在文本字段打开编辑菜单时返回函数中定义的pasteOption特定操作(在本例中为selectAllselect、和)的值。cutcopypaste

于 2016-03-02T12:04:56.160 回答