দুটি প্রশ্ন আছে।
আমি ভাবছিলাম যে দুটি লাইনের পাঠ্য সহ একটি ইউআইবাটন তৈরি করা সম্ভব কিনা
স্টোরিবোর্ড বা প্রোগ্রামগতভাবে ব্যবহারের মাধ্যমে এটি সম্ভব।
স্টোরিবোর্ড:
চরিত্রের মোড়ক বা শব্দ মোড়ানোতে 'লাইন ব্রেক মোড' পরিবর্তন করুন এবং UIButton শিরোনাম ক্ষেত্রে নতুন লাইন প্রবেশ করতে Alt / Option + enter কী ব্যবহার করুন ।
প্রোগ্রামগতভাবে:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
btnTwoLine?.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping;
}
আমার প্রতিটি লাইনের একটি আলাদা ফন্টের আকার 1 প্রয়োজন
সবচেয়ে খারাপ ক্ষেত্রেটি হল, আপনি একটি কাস্টম UIButton
ক্লাস ব্যবহার করতে পারেন এবং এর মধ্যে দুটি লেবেল যুক্ত করতে পারেন ।
আরও ভাল উপায়, ব্যবহার করুন NSMutableAttributedString
। মনে রাখবেন, এটি কেবল প্রোগ্রামগতভাবেই অর্জন করা যায়।
সুইফট 5:
@IBOutlet weak var btnTwoLine: UIButton?
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
textResponseButton?.titleLabel?.lineBreakMode = NSLineBreakMode.byWordWrapping;
let buttonText: NSString = "hello\nthere"
let newlineRange: NSRange = buttonText.range(of: "\n")
var substring1 = ""
var substring2 = ""
if(newlineRange.location != NSNotFound) {
substring1 = buttonText.substring(to: newlineRange.location)
substring2 = buttonText.substring(from: newlineRange.location)
}
let font1: UIFont = UIFont(name: "Arial", size: 17.0)!
let attributes1 = [NSMutableAttributedString.Key.font: font1]
let attrString1 = NSMutableAttributedString(string: substring1, attributes: attributes1)
let font2: UIFont = UIFont(name: "Arial", size: 11.0)!
let attributes2 = [NSMutableAttributedString.Key.font: font2]
let attrString2 = NSMutableAttributedString(string: substring2, attributes: attributes2)
attrString1.append(attrString2)
textResponseButton?.setAttributedTitle(attrString1, for: [])
}
পুরানো সুইফট
@IBOutlet weak var btnTwoLine: UIButton?
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
btnTwoLine?.titleLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping;
var buttonText: NSString = "hello\nthere"
var newlineRange: NSRange = buttonText.rangeOfString("\n")
var substring1: NSString = ""
var substring2: NSString = ""
if(newlineRange.location != NSNotFound) {
substring1 = buttonText.substringToIndex(newlineRange.location)
substring2 = buttonText.substringFromIndex(newlineRange.location)
}
let font:UIFont? = UIFont(name: "Arial", size: 17.0)
let attrString = NSMutableAttributedString(
string: substring1 as String,
attributes: NSDictionary(
object: font!,
forKey: NSFontAttributeName) as [NSObject : AnyObject])
let font1:UIFont? = UIFont(name: "Arial", size: 11.0)
let attrString1 = NSMutableAttributedString(
string: substring2 as String,
attributes: NSDictionary(
object: font1!,
forKey: NSFontAttributeName) as [NSObject : AnyObject])
attrString.appendAttributedString(attrString1)
btnTwoLine?.setAttributedTitle(attrString, forState: UIControlState.Normal)
}
আউটপুট