Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift中的左对齐垂直标签_Ios_Swift_Alignment_Uilabel_Snapkit - Fatal编程技术网

Ios Swift中的左对齐垂直标签

Ios Swift中的左对齐垂直标签,ios,swift,alignment,uilabel,snapkit,Ios,Swift,Alignment,Uilabel,Snapkit,我在一个UICollectionViewCell中工作,试图获得一个旋转的UILabel,以固定宽度粘贴到标签的左侧。这就是我所能做到的: 如您所见,标签的尺寸似乎与文本的长度有关,禁用自动调整大小没有任何效果。我想将标签限制为~80,并占据单元格的全部高度,足以容纳具有一定间距的字体。UICollectionViewCell的完整代码: import Foundation import UIKit class DayOfWeekCell: UICollectionViewCell {

我在一个UICollectionViewCell中工作,试图获得一个旋转的UILabel,以固定宽度粘贴到标签的左侧。这就是我所能做到的:

如您所见,标签的尺寸似乎与文本的长度有关,禁用自动调整大小没有任何效果。我想将标签限制为~80,并占据单元格的全部高度,足以容纳具有一定间距的字体。UICollectionViewCell的完整代码:

import Foundation
import UIKit

class DayOfWeekCell: UICollectionViewCell {

    let categoryLabel = UILabel()

    override init(frame: CGRect) {
        super.init(frame: frame)

        backgroundColor = .red

        categoryLabel.transform = CGAffineTransform.init(rotationAngle: -CGFloat.pi/2)
        categoryLabel.textColor = UIColor.white
        categoryLabel.font = UIFont.systemFont(ofSize: 25)
        categoryLabel.translatesAutoresizingMaskIntoConstraints = false

        addSubview(categoryLabel)

        categoryLabel.backgroundColor = .blue
        categoryLabel.leadingAnchor.constraint(equalTo: self.leadingAnchor, constant: 0).isActive = true
        categoryLabel.topAnchor.constraint(equalTo: self.topAnchor, constant: 0).isActive = true
        categoryLabel.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: 0).isActive = true
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}
ViewController sizeForItem返回高度为180的视图宽度。它不处理单元格的任何内容,只设置标签的文本


我对iOS还比较陌生,但在过去的一个小时里我一直在修补它,只是不能让它玩得很好!SnapKit是进口的,但我也没有成功。是否有一些我不知道的自动调整?任何帮助都将不胜感激

我想使用锚点应用的约束存在问题。由于也应用了所有底部锚点,因此不同文本的锚点不同。我设法通过再次应用平移位置,通过执行

 let transform = CGAffineTransform(rotationAngle: -.pi / 2).translatedBy(x: -25, y: -50)
categoryLabel.transform = transform


应用于类别标签的约束与leftAnchor、topAnchor对齐,宽度为100。

我猜使用锚点应用的约束存在问题。由于也应用了所有底部锚点,因此不同文本的锚点不同。我设法通过再次应用平移位置,通过执行

 let transform = CGAffineTransform(rotationAngle: -.pi / 2).translatedBy(x: -25, y: -50)
categoryLabel.transform = transform


应用于类别标签的约束与leftAnchor、topAnchor对齐,宽度为100。

您能否尝试:将内容包含优先级设置为required,然后增加前导约束中的常量@乔希·福格尔试一试。拥抱优先级似乎没有任何效果(在两个轴上都尝试过),增加常量会将标签推离左侧。您可以尝试:将内容拥抱优先级设置为必需,然后在前导约束中增加常量吗@乔希·福格尔试一试。拥抱优先级似乎没有任何影响(在两个轴上都尝试过),增加该常数会将标签推离左侧,而在轴上变换则是问题所在。文本的长度决定了锚定不能与之混合的宽度。最后,我使用了一个框架来定位标签,因为对齐必须是死点。很好的解决方案,我试过了!事实证明,在轴上进行转换是一个问题。文本的长度决定了锚定不能与之混合的宽度。最后,我使用了一个框架来定位标签,因为对齐必须是死点。很好的解决方案,我试过了!