         frame = CGRect(x: 0, y: 0, width: intrinsicContentSize.width, height: intrinsicContentSize.height)
     }    
     
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
     @objc func didPress(button: RoundedButton) {
         guard let delegate = delegate else { return }
         

        }
        
        delegate.didSelect(item: item, atIndex: index)
    }
    
    required init?(coder aDecoder: NSCoder) {
        self.itemDiameter = Const.StudyParameters.itemDiameter
        self.distance = Const.StudyParameters.itemDistance
        self.layout = .grid
        self.topMargin = 0
        self.items = SearchView.createDefaultItems()
        
        super.init(coder: aDecoder)
        
        // Map buttons to items
        createButtonsForItems()
        
        // Layout buttons
        layoutButtons()
        
        // Set frame based on layout
        frame = CGRect(x: 0, y: 0, width: intrinsicContentSize.width, height: intrinsicContentSize.height)
    }
    
    private func createButtonsForItems() {

        }        
    }
    
    static func createDefaultItems() -> [[SearchItemProtocol]] {
        var items: [[SearchItemProtocol]] = []
        
        var counter = 1
