小编cyl*_*lov的帖子

UiTextField:不调用canPerformAction,caretRectForPosition,selectionRectsForRange(Swift 3)

我已经做了很多研究并且没有想法来解决这个问题.有人能告诉我为什么canPerformAction,caretRectForPosition,selectionRectsForRange不要求将myTextField对象.

我已经读过,只有在类继承UITextField而不是从类继承的情况下才会调用这些函数UITextFieldDelegate.

我还尝试在函数定义前放置override.但Swift 3并不喜欢这样:

方法不会覆盖其超类ViewController.swift中的任何方法

这应该不是问题,因为可以像这里所述删除覆盖: Swift协议:方法不会覆盖其超类中的任何方法

import Foundation
import UIKit

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate
    //, UITextFieldDelegate
{
    @IBOutlet var my_text_field: MyTextField!
    @IBOutlet var my_text_field_delegate: MyTextFieldDelegate!

    var pickerView = UIPickerView()
    var pickOption = ["test1",
                      "test2",
                      "test3",
                      "test3",
                      "test4",
                      "test5"]

    override func viewDidLoad()
    {
        super.viewDidLoad()

        //let pickerView = UIPickerView()
        pickerView.delegate = self
        pickerView.showsSelectionIndicator = true

        my_text_field.inputView = pickerView
        my_text_field_delegate.inputView = pickerView

        //my_text_field_delegate.delegate = self
    }

    func …
Run Code Online (Sandbox Code Playgroud)

uitextfield ios swift3 ios10

3
推荐指数
1
解决办法
2659
查看次数

标签 统计

ios ×1

ios10 ×1

swift3 ×1

uitextfield ×1