       case .Bottom:
         tvosBadge.contentMode = .ScaleAspectFit
         switch (size, offsets) {
-        case (.Some(let s), .Some(_)):
+        case (.Some(let s), .Some(let o)):
+          tvosBadge.pinBottom(toView: tvosButton, withInset: o.bottom)
           tvosBadge.pinSize(width: s.width, height: s.height)
         case (.Some(let s), .None):
+          tvosBadge.pinBottom(toView: tvosButton)
           tvosBadge.pinSize(width: s.width, height: s.height)
         default:
           tvosBadge.fillHorizontal(toView: tvosButton, withInset: offsets?.left ?? 0)

      case .Left:
        tvosBadge.contentMode = .ScaleAspectFit
        switch (size, offsets) {
        case (.Some(let s), .Some(_)):
          tvosBadge.pinSize(width: s.width, height: s.height)
        case (.Some(let s), .None):
          tvosBadge.pinSize(width: s.width, height: s.height)
        default:
          tvosBadge.pinTop(toView: tvosButton, withInset: offsets?.top ?? 0)

      case .Top:
        tvosBadge.contentMode = .ScaleAspectFit
        switch (size, offsets) {
        case (.Some(let s), .Some(let o)):
          tvosBadge.pinTop(toView: tvosButton, withInset: o.top)
          tvosBadge.pinSize(width: s.width, height: s.height)
        case (.Some(let s), .None):
          tvosBadge.pinTop(toView: tvosButton, withInset: offsets?.top ?? 0)
          tvosBadge.pinSize(width: s.width, height: s.height)
        default:
          tvosBadge.pinTop(toView: tvosButton, withInset: offsets?.top ?? 0)
          tvosBadge.fillHorizontal(toView: tvosButton)
          tvosBadge.pinToTop(ofView: tvosTextLabel, withOffset: offsets?.bottom ?? 0)
        }
        tvosTextLabel.fillHorizontal(toView: tvosButton)
