符合X UITextView属性的X委托?



例如,我在一个ViewController中有2个或多个类型为UITextView的属性:

@IBOutlet weak var titleTextView: UITextView!
@IBOutlet weak var textTextView:UITextView!

这是否意味着在ViewControllerviewDidLoad()中,我必须将ViewController设置为每个UITextView属性的委托?

接着上面的问题:这是否也意味着当使用UITextViewDelegate方法时,我必须分别为每个属性写下这些方法(如textViewDidBeginEditing()等)?

你必须设置两个textview的委托,但当它涉及到textViewDidBeginEditing(),你把那里的代码是为两个textview。如果你想让它不同,那么你可以指定你想要它工作的textview:

if textView == sometextview{
//Do what you want 
} else {
//If the textView isn't sometextView, Do something else
}

如果你想知道,同样的规则适用于UITableViews和UICollectionViews

您也可以使用标记。他们在各种情况下提供帮助。假设你必须让任何其他对象作为textview的委托,你不需要访问ViewController的outlet属性,相反,你可以使用你设置的标签来标识视图。

// assign any integer value
view.tag = 20 
// compare this way
view.tag == 20

最新更新