সুইফট দিয়ে ইউআইবাটনের ফন্ট কীভাবে পরিবর্তন করবেন


207

আমি সুইফট ব্যবহার করে একটি ইউআইবাটনের ফন্টটি পরিবর্তন করার চেষ্টা করছি ...

myButton.font = UIFont(name: "...", 10)

তবে .fontঅবমূল্যায়ন করা হয়েছে এবং অন্যথায় হরফ কীভাবে পরিবর্তন করবেন তা সম্পর্কে আমি নিশ্চিত নই।

কোনও পরামর্শ?

উত্তর:


421

titleLabelপরিবর্তে ব্যবহার করুন। fontআইওএস 3.0 এ সম্পত্তি হ্রাস করা হয়েছে। এটি উদ্দেশ্য-সি তেও কাজ করে না। titleLabelশিরোনাম দেখানোর জন্য ব্যবহৃত লেবেল UIButton

myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 20)

তবে শিরোনাম পাঠ্য নির্ধারণের সময় আপনার কেবল ব্যবহার করা উচিত setTitle:forControlState:titleLabelসরাসরি শিরোনামের জন্য কোনও পাঠ্য সেট করতে ব্যবহার করবেন না ।


1
তোমরা কি জান যে আমাকে কেন 'আনপ্রেপ' করতে হবে? আমার লেবেল ?? এই মত ... myButton.titleLabel!। ফন্ট = ...
ড্যানমুর

বিকাজ alচ্ছিক titleLabelসম্পত্তি। বিটা আগে যা ছিল তা ধন্যবাদ।
কোডস্টার

4
এই পদ্ধতিটি আমাকে আমার ফন্টের নাম / স্টাইল পরিবর্তন করতে দেয় তবে আকারের বৈশিষ্ট্য পরিবর্তন করে কোনও পার্থক্য হয় না।
ডেভ জি

7
আপনাকে জোর করে লেবেল আন-র্যাপ করতে হবে না। myButton.titleLabel?.font = ...কাজ করবে যেহেতু শিরোনাম লেবেল যদি শূন্য হয় তবে এটি কেবল কোনও অপ
অপেশান হবে

1
কেন এই পদ্ধতিটি কাস্টম UIbutton সাবক্লাসের জন্য কাজ করে না?
মুনিব

69

জন্য সুইফট 3.0 :

button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)

যেখানে "boldSystemFont" এবং "16" আপনার কাস্টম ফন্ট এবং আকারের সাথে প্রতিস্থাপন করা যেতে পারে।


44

ডট-স্বরলিপি দুর্দান্ত (দ্রুত 4.2) 👌 👌

btn.titleLabel?.font = .systemFont(ofSize: 12)

@ মহাসাম ইউআইএফন্ট অনুমান করা হয়েছে, অন্যদের তুলনায় এই উত্তরটি একই রকম তবে কেবল ইউআইএফন্ট ব্যতীত (তবে এটি সংকলক দ্বারা অনুমান করা হয়েছে, তবে এটি একই) পিডি: আমি সবসময় এইভাবে লেখার চেষ্টা করি, তবে কেবল আপনাকে জানাতেই পারি জেনে নিন এটি একই
পাবলো সানচেজ গোমেজ

1
@ মহাসম: "ডট-নোটেশন" ইনফার্ড হিসাবে একই। এবং হ্যাঁ এটি গ্রহণ করা ভাল অভ্যাস। এবং এটি অন্যান্য উত্তরগুলির চেয়ে বেশি সংযুক্ত হিসাবে অন্যদের মতো একই উত্তর নয়। আইএমও
19:18

9

সেটেল লাগানোর জন্য আপনাকে লেবেল শিরোনামটি আন-র‌্যাপ করার দরকার নেই।

myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)

যেহেতু আপনি এখানে শিরোনাম লেবেলটি ব্যবহার করছেন না, আপনি কেবল এটি বিকল্পভাবে ব্যবহার করতে পারেন এবং এটি যদি শূন্য থাকে তবে এটি কেবল কোনও অপ-বিকল্প হবে।

অন্যান্য লোকেরা যেমন বলছে, আমিও যুক্ত করব, ফন্টের সম্পত্তি হ্রাস করা হয়েছে, এবং setTitle:forControlState:শিরোনামের পাঠ্য নির্ধারণের সময় ব্যবহার করার বিষয়টি নিশ্চিত করুন।


7

ডকুমেন্টেশন থেকে :

বোতামে পাঠ্য প্রদর্শন করতে ব্যবহৃত হরফ। ( আইওএস ৩.০ এ অবমূল্যায়ন করা হয়েছে । পরিবর্তে এর fontসম্পত্তি ব্যবহার করুন Use titleLabel)


5

আপনার যদি হরফ আকারের সমস্যা হয় (আপনার ফন্টটি আকারের পরিবর্তনে সাড়া দিচ্ছে না) ...

@ কোডেস্টারের সঠিক কোড রয়েছে:

myButton.titleLabel!.font =  UIFont(name: YourfontName, size: 20)

তবে আমার ফন্টের আকার পরিবর্তন হচ্ছে না n't দেখা যাচ্ছে যে আমি একটি ফন্ট চেয়েছি যা বিদ্যমান ছিল না ("হেলভেটিকানিউ-রেগুলার")। এটি কোনও ক্র্যাশ ঘটায় নি, তবে মনে হচ্ছে এটি হ'ল ফন্টের বিবৃতিটিকে এড়িয়ে চলেছে। একবার আমি ফন্টটি এমন কিছুতে পরিবর্তিত করে যা বিদ্যমান থাকে, "আকার: x" এ পরিবর্তন হয়।


5

আমরা নীচের মতো বিভিন্ন ধরণের সিস্টেম ফন্ট ব্যবহার করতে পারি

myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)

এবং আপনার কাস্টম ফন্ট নীচের মত

    myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)


4

এখানে একবার দেখুন ।

পরিবর্তে আপনার বোতামের শিরোনাম লেবেলের ফন্ট সেট করা উচিত।

myButton.titleLabel!.font = UIFont(name: "...", 10)


4

আপনি যদি ইউআইবাটনটিতে অ্যাট্রিবিউটড স্ট্রিং সেট করে থাকেন তবে নীচের জিনিসটি করতে পারেন।

let attributedText = NSAttributedString(string: "Hello", attributes: [NSAttributedStringKey.font: UIFont(name: "Calibri", size: 19)])
okayButton.setAttributedTitle(attributedText, for: .normal)

4

আপনার যদি কেবল আকার পরিবর্তন করতে হয় তবে ( সুইফট ৪.০ ):

button.titleLabel?.font = button.titleLabel?.font.withSize(12)

2

উদাহরণ: button.titleLabel?.font = UIFont(name: "HelveticaNeue-Bold", size: 12)

  • আপনি যদি নিজের পরিবার থেকে ডিফল্ট ফন্ট ব্যবহার করতে চান তবে উদাহরণস্বরূপ ব্যবহার করুন: "হেলভেটিকানিউ"
  • আপনি যদি পারিবারিক ফন্ট নির্দিষ্ট করতে চান তবে উদাহরণস্বরূপ ব্যবহার করুন: "হেলভেটিকানিউ-বোল্ড"

1

এই ভাবে এখন কাজ করে না:

 btn.titleLabel?.font = UIFont(name: "Helvetica", size:12)

এইটা কাজ করে:

 btn.titleLabel?.font = UIFont.init(name: "Helvetica", size:12)

0

আমার জন্য এই কাজ, ধন্যবাদ। আমি কেবল পাঠ্য আকার পরিবর্তন করতে চাই কেবল ফন্টের নাম পরিবর্তন করি না।

var fontSizeButtonBig:Int = 30

btnMenu9.titleLabel? .font = .sistmFont (ofSize: CGFloat (fontSizeButtonBig))

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