В показанном вами коде menuButtonLH определяется в рамках функции "configButtonLH".Он невидим вне функции.
Класс, содержащий эти функции, предположительно является контроллером представления?
Вы можете определить его как свойство экземпляра этого класса, например:
var menuButtonLH: ExpandingMenuButton!
Это должен быть "var", чтобы вы могли инициализировать его после инициализации объекта, и необязательный развёрнутый, если вы гарантируете, что он будет инициализирован перед использованием.
Добавлено:
Единственные развернутые опции, которые я вижу в опубликованном вами коде, - это сбойные инициализаторы в этих вызовах:
let menuButtonLH = ExpandingMenuButton(frame: CGRect(origin: CGPoint.zero, size: menuButtonSize), image: UIImage(named: "buttonA")!, rotatedImage: UIImage(named: "buttonAL")!)
// Lets hide the right button
let item1 = ExpandingMenuItem(size: menuButtonSize, title: "Home Screen", image: UIImage(named: "icon")!, highlightedImage: UIImage(named: "chooser-moment-icon-place-highlighted")!, backgroundImage: UIImage(named: "chooser-moment-button"), backgroundHighlightedImage: UIImage(named: "chooser-moment-button-highlighted"))
let item2 = ExpandingMenuItem(size: menuButtonSize, title: "Lock Screen", image: UIImage(named: "lock")!, highlightedImage: UIImage(named: "chooser-moment-icon-place-highlighted")!, backgroundImage: UIImage(named: "chooser-moment-button"), backgroundHighlightedImage: UIImage(named: "chooser-moment-button-highlighted"))
Если один из них вызывает ошибку, вероятнее всего, один илибольше ваших изображений не может быть найдено.
Отладчик должен сообщать вам, где запускается программа.