     }
     
     //MARK: Action
-    
-    func emojiButtonPressed(sender: UIButton) {
+    private func emojiButtonPressed(sender: UIButton) {
         if let emoji = sender.titleLabel?.text {
             self.delegate?.emojiViewDidSelectEmoji(emojiView: self, emoji: emoji)
         }
     }
     
-    func deleteButtonPressed(sender: UIButton) {
+    @objc private func deleteButtonPressed(sender: UIButton) {
         self.delegate?.emojiViewDidPressDeleteButton(emojiView: self)
     }
     
-    func pageControlTouched(sender: UIPageControl) {
+    @objc private func pageControlTouched(sender: UIPageControl) {
         var bounds = collectionView.bounds
         bounds.origin.x = bounds.width * CGFloat(sender.currentPage)
         collectionView.scrollRectToVisible(bounds, animated: true)
     }
     
     //MARK: Tools
-    
-    static func thisBundle() -> Bundle {
+    static private func thisBundle() -> Bundle {
         let podBundle = Bundle(for: ISEmojiView.classForCoder())
         if let bundleURL = podBundle.url(forResource: "ISEmojiView", withExtension: "bundle") {
             if let bundle = Bundle(url: bundleURL) {

        button.tintColor = .lightGray
        return button
    }()
    var emojis: [[String]] = {
        if let filePath = ISEmojiView.pathOfResourceInBundle(filename: "ISEmojiList", filetype: "plist") {
            if let sections = NSDictionary(contentsOfFile: filePath) as? [String:[String]] {
                var emojiList: [[String]] = []

    }
    
    //MARK: LongPress
    @objc private func emojiLongPressHandle(sender: UILongPressGestureRecognizer){
        guard isShowPopPreview else { return }
        
        let location = sender.location(in: collectionView)
        if longPressLocationInEdge(location) {
            if let indexPath = collectionView.indexPathForItem(at: location), let attr = collectionView.layoutAttributesForItem(at: indexPath) {
