Используя varargs от Scala

Swift 4: для последних версий iOS 11 и более поздних версий

override func viewDidLoad() {
    super.viewDidLoad()

    if #available(iOS 11.0, *) {
        self.viewToRound.clipsToBounds = true
        viewToRound.layer.cornerRadius = 20
        viewToRound.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner]
    } else {
        // Fallback on earlier versions
    }
}

Предыдущие версии iOS (10,9 и т. Д.) (Также работает для iOS 11)

override func viewDidLayoutSubviews() {
    self.viewToRound.clipsToBounds = true
    let path = UIBezierPath(roundedRect: viewToRound.bounds,
                            byRoundingCorners: [.topRight, .topLeft],
                            cornerRadii: CGSize(width: 20, height: 20))

    let maskLayer = CAShapeLayer()

    maskLayer.path = path.cgPath
    viewToRound.layer.mask = maskLayer
}
54
задан oxbow_lakes 17 June 2009 в 07:28
поделиться

2 ответа

def foo(msf: String, o: AnyRef, os: AnyRef*) = 
  println( String.format(msf, (o :: os.toList).toArray : _* ))
65
ответ дан 7 November 2019 в 08:04
поделиться
def foo(msf: String, o: AnyRef, os: AnyRef*) =
  println( String.format(msf, o :: os.toList : _* ) )

или

def foo(msf: String, o: AnyRef, os: AnyRef*) =
      println( msf format (o :: os.toList : _* ) )

Я предпочитаю последнее, хотя в нем нет поддержки локали *.

  • Scala 2.8 действительно поддерживает локаль с форматом RichString.
13
ответ дан 7 November 2019 в 08:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: