I StatusTextというUITextViewを持つカスタムセルがあります。私はtextView内のすべての@記号を見つけ出し、それをリンクに変える拡張子を持っています。そのユーザー名リンクをクリックして、プロファイルビューコントローラーに移動したいと考えています。ここでカスタムセルのリンクUITextView登録タップ
はCustomCellの次のコードです:
import UIKit
class profileCell: UITableViewCell, UITextViewDelegate {
@IBOutlet weak var UserImage: UIImageView!
@IBOutlet weak var UserName: UILabel!
@IBOutlet weak var Time: UILabel!
@IBOutlet weak var Likes: UILabel!
@IBOutlet weak var Dislikes: UILabel!
@IBOutlet weak var StatusText: UITextView!
@IBOutlet weak var LikeButton: UIButton!
@IBOutlet weak var DislikeButton: UIButton!
override func awakeFromNib() {
StatusText.delegate = self
}
func StatusText(StatusText: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool {
/* perform your own custom actions here */
print("firing this right now")
return true // return true if you still want UIAlertController to pop up
}
}
完璧ですが、問題は、リンクをクリックすると機能が起動しないことです。私はcustomCell.swiftクラスに関数を入れようとしましたが、リンクがクリックされても何も起こりません。選択されるように設定されています。私は関数がセル内のリンクを見つけることができないと思う。 –
@MatthewFoster、 'awakeFromNib'が呼び出されていることを確認できますか?' StatusText'はこの時点でインスタンス化されていますか? –
したがって、awakeFromNibは、tableViewが最初にビューコントローラでロードされるときに呼び出されます。表を上下にスクロールすると、customCellセルが表示されているときにawakeFromNibは起動しません。 –