ما هي أفضل طريقة لتعيين X، Y تنسيق Uilabel ولكن دعها عرض السيارات / الارتفاع على iPhone؟

StackOverflow https://stackoverflow.com/questions/929014

  •  06-09-2019
  •  | 
  •  

سؤال

أعلم بالضبط حيث أريد وضع Uilabel في Uiview، لكنني لا أعرف بالضرورة ما الارتفاع / العرض الذي أريده أن يكون لديك وقت ترجمة، لذلك تعيين عرض / ارتفاع في initwithframe غير مجدية. أريد أن أكون قادرا على إتاحة X، Y نقاط Y، ثم استخدم شيئا مثل [MyLabel Sizetofit] حتى تتمكن من ضبط العرض / الارتفاع بشكل تلقائي تلقائيا على وضع الاستراحة والمحتوى.

الحل الذي أبحث عنه هو كيفية تعيين نقطة الأصل Uilabel أثناء تعيينه / ارتفاعه إلى رقم ديناميكي يستند إلى النص المضيف على الملصق.

لا يوجد حل صحيح

نصائح أخرى

حجم الملصق أولا، ثم قم بتعيين أصلها أو مركزه:

[myLabel sizeToFit];
CGRect frame = myLabel.frame;
frame.origin = CGPointMake(x, y);
myLabel.frame = frame;

أو

[myLabel sizeToFit];
myLabel.center = CGPointMake(x, y);

إذا كان لديك الإطار بالفعل بالحجم الديناميكي ولكنك ترغب في تغيير الأصل:

CGRect myFrame = myLabel.frame;
myFrame.origin = aCGPoint;
myLabel.frame = myFrame;

إذا كنت بحاجة إلى حساب الحجم:

CGSize suggestedSize = [myString sizeWithFont:myLabel.font constrainedToSize:CGSizeMake(FLT_MAX, FLT_MAX) lineBreakMode:UILineBreakModeWordWrap];

بالطبع، يمكنك تغيير FLT_MAX لتقييد عرض معين أو Heigh.

تحرير: لم أكن أدرك أنك تريد حساب الحجم الثامن. وأضاف تفسير أفضل أعلاه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top