मुझे UILabels में टेक्स्ट की बेसलाइन को संरेखित करने की आवश्यकता है। मैं वर्तमान में जो कर रहा हूं वह है कि मैं टेक्स्ट युक्त यूआईएलएबल्स की बेसलाइनों को संरेखित कर रहा हूं, और जब टेक्स्ट लेबल का आकार दो लेबलों में अलग होता है, तो इसके परिणामस्वरूप यूलाबेल बेसलाइन को गठबंधन किया जाता है लेकिन टेक्स्ट बेसलाइन को गलत तरीके से गलत किया जाता है (एक छोटे मार्जिन द्वारा गलत तरीके से हस्ताक्षर किया जाता है, लेकिन फिर भी गलत संरेखित)। लेबल कस्टम UIView उपclass में शामिल हैं, इसलिए self
शामिल UIView को संदर्भित करता है।आईआईएलएबल्स में टेक्स्ट के बेसलाइन को आईओएस पर विभिन्न फ़ॉन्ट आकारों के साथ कैसे संरेखित करें?
यहाँ प्रासंगिक कोड
[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
ऑटो लेआउट संस्करण आसान है: आप जो भी जा रहे हैं उसके आधार पर, 'NSLayoutAttributeBaseline' (या 'NSLayoutAttributeLastBaseline' या' NSLayoutAttributeFirstBaseline' द्वारा दो लेबल को संरेखित करें)। –