Tôi cần căn chỉnh đường cơ sở của văn bản trong UILabels. Điều tôi đang làm là sắp xếp đường cơ sở của UILabels chứa văn bản và khi kích thước phông chữ trong hai nhãn khác nhau, kết quả này được căn chỉnh theo đường cơ sở UILabels nhưng đường căn bản không được căn lề (lệch bằng lề nhỏ, nhưng vẫn không đúng). Các nhãn được bao gồm trong một lớp con UIView tùy chỉnh, do đó self
đề cập đến UIView bao gồm.Làm cách nào để căn chỉnh đường cơ sở của văn bản trong UILabels với kích thước phông chữ khác nhau trên iOS?
đây là mã có liên quan
[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];
Mã này kết quả trong aligment trong hình ảnh liên kết dưới đây.
Như bạn có thể thấy, mặc dù các đường cơ sở UILabel được liên kết, đường cơ sở của văn bản được lệch bằng lãi nhỏ. Làm thế nào tôi có thể căn chỉnh các đường cơ sở của văn bản động (vì kích thước phông chữ có thể thay đổi khi chạy)?
Bất kỳ phiên bản nào sử dụng bố cục tự động? – adib
Phiên bản bố cục tự động rất dễ dàng: chỉ cần căn chỉnh hai nhãn bằng 'NSLayoutAttributeBaseline' (hoặc' NSLayoutAttributeLastBaseline' hoặc 'NSLayoutAttributeFirstBaseline', tùy thuộc vào những gì bạn đang làm). –