私はUILabelsのテキストのベースラインを揃える必要があります。私が現在行っていることは、テキストを含むUILabelsのベースラインを整列させていることです.2つのラベルのテキストフォントサイズが異なると、UILabelsのベースラインは整列しますが、テキストのベースラインの位置がずれてしまいますミスアラインメント)。ラベルはカスタムUIViewサブクラスに含まれています。したがって、self
は、包括的なUIViewを指します。ここiOSでUILabelsのテキストのベースラインをさまざまなフォントサイズに揃える方法は?
は、関連するコード
[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];
self.mySmallLabel.frame = CGRectMake(0,
self.bounds.size.height - self.mySmallLabel.bounds.size.height,
self.mySmallLabel.bounds.size.width,
self.mySmallLabel.bounds.size.height);
self.myBigLabel.frame = CGRectMake(self.mySmallLabel.frame.origin.x + self.mySmallLabel.bounds.size.width,
self.bounds.size.height - self.myBigLabel.bounds.size.height,
self.myBigLabel.bounds.size.width,
self.myBigLabel.bounds.size.height);
[self.mySmallLabel sizeToFit];
[self.myBigLabel sizeToFit];
以下のリンク先の画像でaligmentでこのコードの結果です。
あなたはUILabelベースラインが整列されていても、見ることができるように、テキストのベースラインは、小さなマージンでずれています。テキストのベースラインを動的に調整するには(実行時にフォントサイズが変わる可能性があるため)
自動レイアウトを使用するバージョンはありますか? – adib
自動レイアウトのバージョンは簡単です:2つのラベルを 'NSLayoutAttributeBaseline'(またはあなたが何をしようとしているかに応じて' NSLayoutAttributeLastBaseline'または 'NSLayoutAttributeFirstBaseline')で整列させるだけです。 –