আমি কীভাবে কোনও ইউআইএলবেলের ফন্টের আকার এবং ফন্টের নাম পেতে পারি?


105

আমার একটি ইউআইএলবেল রয়েছে যা আমি ইন্টারফেস বিল্ডারের সাথে একটি ফন্টের আকার এবং একটি ফন্টের নাম সেট করি। এখন আমার ভিউকন্ট্রোলারে উভয়ের মানগুলি পড়তে হবে।

কিভাবে আমি এটি করতে পারব?


এই পদ্ধতিটি iOS7 অবচিত করা হয়েছে, এই নিবন্ধটি একবার দেখুন: stackoverflow.com/questions/19128797/…
মারিয়া

উত্তর:


254

আপনার দেখার নিয়ামকের .h ফাইলটিতে একটি সম্পত্তি যুক্ত করুন:

@property (nonatomic, retain) IBOutlet UILabel *label;

ইন্টারফেস বিল্ডারে "ফাইলের মালিক" আউটলেটগুলির অধীনে এই আইবিআউটলেটটিতে লেবেলটি লিঙ্ক করুন। যদি এআরসি ব্যবহার না করা থাকে তবে নিশ্চিত হয়ে নিন যে আপনি এটি -ডেলোক-এ প্রকাশ করেছেন

- (void)dealloc
{
    [self.label release];
    [super dealloc];
}

তারপরে হরফের নাম এবং আকার পেতে আপনার যা প্রয়োজন তা হল

NSString *fontName = self.label.font.fontName;
CGFloat fontSize = self.label.font.pointSize;

3
কাজ করে না. আমি এতে পাঠ্য লিখতে পারি, তবে হরফ ফন্টনাম এবং পয়েন্টসাইজটি নালাগুলি।
টিম

আপনি কি বলতে চাইছেন যে আপনি প্রোগ্রামটির মাধ্যমে লেবেলের পাঠ্যটি পরিবর্তন করতে পারবেন তবে আপনি ফন্টনাম এবং পয়েন্টসাইজ অ্যাক্সেস করতে পারবেন না? আমি কেবল লেবেলের পরিবর্তে সেলফ.এলবেল অন্তর্ভুক্ত করার জন্য উপরের উত্তরটি সম্পাদনা করেছি, যেহেতু আমি লেবেলের জন্য উদাহরণ পরিবর্তনশীল তৈরির কথা উল্লেখ করি নি।
নেড

এছাড়াও, নিশ্চিত হয়ে নিন যে আপনি ফাইলের মালিকের (ভিউ কন্ট্রোলার) তৈরি আইবিআউটলেট দিয়ে ইন্টারফেস বিল্ডারে লেবেলটি আপ করেছেন।
নেড

2
আহ, আমি ফাইলের মালিকের সাথে আইবিতে সংযোগটি ভুলে গেছি।
টিম


15

পয়েন্টসাইজ মানটি ইউআইএফএন্ট আকারের বৈশিষ্ট্যে ব্যবহৃত হরফের আকার নয়। আপনি যদি ইন্টারফেস বিল্ডার ফন্টের আকার 14 এ সেট করেন এবং পয়েন্টসাইজের একটি মুদ্রণ করেন তবে আপনি কেবল 11 পাবেন Say


এখন কাজ করা বলে মনে হচ্ছে। যদি আমি ইন্টারফেস বিল্ডার / স্টোরিবোর্ড সম্পাদকের কোনও লেবেলের ফন্টের আকার 17 এ সেট করি ... 17 myLabel.font.pointSizeফিরে আসে
ডেরেক সোইক

1

আপনাকে এটিকে একটি ইউআইবিবেল আইবিউটলেটতে সংযুক্ত করতে হবে এবং তারপরে, লেবেল.ফন্ট ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.