2.UITextView
新增一個UITextView

上面和UILabel、UIView、UITextField類似
略有不同則如下:

我們可以用UIMenuItem來創建選單的選項,就如Send、Facebook….etc
也可以增加事件來藏隱藏鍵盤。

不過呢,因為Send、Facebook都不是原本ViewController就有的內建方法,所以要另外在前面編寫方法:

上面可以看到在ViewController下面,我們新增了三個方法,分別是sendMail、sendFB、hideKeyboard
不過在這裡有個小問題,為什麼func前面要加上@objc呢?
補充:@objc的意義
很奇怪的一件事是,假若我今天把sendMail前的@objc刪除了

那麼下面的mail會馬上報這個錯,那是為什麼呢?

Argument of #selector refers to instance method ‘sendMail( )’ that is not exposed to Objective-C(#selector 的參數引用未透露給 Objective-C 的實體方法“sendMail()”)
Add ‘objc’ to expose this instance method to Objective-C(新增objc去透露這個實體方法給Objective-C)
看到這裡,忍不住就去查了一下,找到了一個還可以的解釋:

那為什麼樣修飾?
如果以我們遇到的例子來回推,應該可以這樣解釋:
#selector應該是以前Objective-C的實體方法,所以可以藉由Objective-C來調用至Swift中來使用,所以理應我們要標上@objc來調用#selector。