以前にも同じ質問をされている方がいましたのでそちらを参考に試してみるのはいかがでしょう?
[xcode objectice-c]文字の縦書きを実現する方法を知りたい
以前の回答をSwiftに置換えました
swift
1import UIKit
2import TTTAttributedLabel
3
4class ViewController: UIViewController {
5
6 override func viewDidLoad() {
7 super.viewDidLoad()
8
9 let myLabel: TTTAttributedLabel = TTTAttributedLabel(frame: CGRect(x: 0, y: 80, width: 320, height: 320))
10 myLabel.backgroundColor = UIColor.whiteColor()
11 view.addSubview(myLabel)
12
13 myLabel.textColor = UIColor.blackColor()
14 myLabel.numberOfLines = 0
15 myLabel.font = UIFont.systemFontOfSize(20)
16 myLabel.verticalAlignment = .Top
17
18 let angle = M_PI/2
19
20 myLabel.transform = CGAffineTransformMakeRotation(CGFloat(angle))
21
22 let text = "国境の長いトンネルを抜けると雪国であった。夜の底が白くなった。信号所に汽車が止まった。\n向側の座席から娘が立って来て、島村の前のガラス窓を落した。雪の冷気が流れこんだ。娘は窓いっぱいに乗り出して、遠くへ叫ぶように、\n「駅長さあん、駅長さあん。」\n明りをさげてゆっくり雪を踏んで来た男は、襟巻で鼻の上まで包み、耳に帽子の毛皮を垂れていた。"
23
24 myLabel.setText(text) { (mutableAttributedString) -> NSMutableAttributedString! in
25
26 mutableAttributedString.addAttribute(kCTVerticalFormsAttributeName as String, value: true, range: NSMakeRange(0,mutableAttributedString.length))
27 return mutableAttributedString
28 }
29 }
30
31 override func didReceiveMemoryWarning() {
32 super.didReceiveMemoryWarning()
33
34 }
35}