以编程方式并排添加不同宽度的UILabel

时间:2017-06-06 13:00:24

标签: swift uitableview autolayout uilabel programmatically-created

我想以编程方式将多个UILabel并排添加到TableViewCell。 UILabels有不同的宽度。

图片中的第一个单元格显示了问题,第二个单元格显示了我想要做的事情。

在这个例子中,我想向TableViewCell添加四个UILabel。但TableViewCell的宽度小于UILabel的宽度。因此,我必须增加CellHeight并将下面的UILabel添加到其他UILabel(如图中的第二个单元格)。

enter image description here

2 个答案:

答案 0 :(得分:3)

您应该将UICollectionView放在UITableViewCell的一行内。 UICollectionView的每个单元格都有一个多UILabel。根据您的标签计数更新UICollectionView的dataSource。设置isScrollEnabled的{​​{1}} false并为UICollectionView设置自动行高。

另外,将流程布局设置为UITableViewCell

UICollectionView

调整单元格大小如下:

if let flowLayout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout { flowLayout.estimatedItemSize = CGSizeMake(1, 1) }

答案 1 :(得分:0)

首先,您必须制作标签。

public partial class Window1 : Window {
    public Window1() {
        InitializeComponent();

    }

    private void button_Click(object sender, RoutedEventArgs e) 
        {
        string writerfile = @"D:\Games\ukony.txt";
        Window1 a = new Window1();
        using (StreamWriter writer = new StreamWriter(writerfile)) 
            {
            writer.WriteLine(a.textBlock.Text);
            writer.WriteLine(a.textBlock1.Text);
            }
        }
    }

每个标签都有不同的宽度和不同的位置。你可以玩它