2017-11-08 4 views
0

私は回転されたUILabelsを含むUIStackViewを作成しようとしています。 UIStackViewは、回転していない幅に基づいてUILabelsを配置しているため、UILabelsが直接隣接すると予想されるときに大きなギャップがあります。これらの要素を正しく再配置するにはどうすればよいですか?回転したUILabelsをギャップなしでUIStackView内に配置するにはどうすればよいですか?

コード:

let stackView = UIStackView(frame: canvas.bounds) 
    stackView.translatesAutoresizingMaskIntoConstraints = false 
    canvas.addSubview(stackView) 
    stackView.axis = .horizontal 
    stackView.topAnchor.constraint(equalTo: canvas.topAnchor, constant: 0).isActive = true 
    stackView.bottomAnchor.constraint(equalTo: canvas.bottomAnchor, constant: 0).isActive = true 
    stackView.leftAnchor.constraint(equalTo: canvas.leftAnchor, constant: 0).isActive = true 

    let label1 = UILabel() 
    label1.transform = CGAffineTransform(rotationAngle: -CGFloat.pi/2) 
    label1.text = "THREEEEEEEE" 
    stackView.addArrangedSubview(label1) 

    let label2 = UILabel() 
    label2.transform = CGAffineTransform(rotationAngle: -CGFloat.pi/2) 
    label2.text = "FOUR" 
    stackView.addArrangedSubview(label2) 

私が見ているもの: enter image description here

UIインスペクタビュー:enter image description here

を私は何を期待: あなたがしようとしないのはなぜenter image description here

+0

ラベルに '.backgroundColor'を設定し、結果を確認してください。 – DonMag

+0

UIインスペクタに表示されているように、ビューのイメージを追加しました。 – Software2

答えて

1

ビューをスタックビューに追加してから、スタックビューを回転させますか?

let label = UILabel() 
label.frame = CGRect(x: 150, y: 200, width: 200, height: 20) 
label.text = "Hello World!" 
label.textColor = .black 

view.addSubview(label) 
self.view = view 

let label1 = UILabel() 
label1.text = "THREEEEEEEE" 

let label2 = UILabel() 
label2.text = "FOUR" 


let stackView = UIStackView(arrangedSubviews: [label1, label2]) 
stackView.transform = CGAffineTransform(rotationAngle: -CGFloat.pi/2) 
stackView.translatesAutoresizingMaskIntoConstraints = false 
view.addSubview(stackView) 
stackView.axis = .vertical 
stackView.topAnchor.constraint(equalTo: label.bottomAnchor, constant: 100).isActive = true 

キャンバスの代わりにビューを使用しました。

+0

これは、スタックビューに追加された他のアイテムを回転させます。これはここに示した簡単な例を解決しますが、目的ははるかに複雑なスタックビューに回転テキストを追加することです。 – Software2

+0

他のスタックビューにスタックビューをいつでも埋め込むことができます – user2840482

関連する問題