ما هي أفضل طريقة لتعيين X، Y تنسيق Uilabel ولكن دعها عرض السيارات / الارتفاع على iPhone؟
-
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.
تحرير: لم أكن أدرك أنك تريد حساب الحجم الثامن. وأضاف تفسير أفضل أعلاه.