需求:將 UILabel 文字垂直排列(如 Y 軸刻度標籤)。最簡單方法:應用旋轉變換。
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(x, y, width, height)];
label.text = @"垂直文字";
label.textAlignment = NSTextAlignmentCenter;
// 逆時針旋轉 90 度(或順時針 270 度)
label.transform = CGAffineTransformMakeRotation(-M_PI_2); // -90度
// 或
label.transform = CGAffineTransformMakeRotation(M_PI_2 * 3); // 270度
transform 不影響佈局框架(frame 不變),僅改變繪製矩陣。frame 大小或使用 sizeToFit 後再旋轉。viewDidLayoutSubviews 中設置 transform。若需「竖排」效果(字符順序不變,逐行向下),需自定義繪製或使用 CATextLayer 設置 string 並調整字符間距,較複雜,視具體設計決定。
整體旋轉最輕量,適用於刻度標籤、側邊標題等場景。