আমার যে সমস্যাটি হচ্ছে তা হ'ল আমি একটি টেক্সটভিউতে নির্দিষ্ট পাঠ্যের পাঠ্য রঙটি পরিবর্তন করতে সক্ষম হতে চাই। আমি একটি সংক্ষিপ্ত স্ট্রিং ব্যবহার করছি এবং আমি কেবল টেক্সটভিউয়ের পাঠ্যে যে স্ট্রিংগুলি যুক্ত করছি তা চাই। দেখা যাচ্ছে যে আমি যা ব্যবহার করতে চাই তা হ'ল NSMutableAttributedString
, তবে সুইফটে কীভাবে এটি ব্যবহার করতে হবে তার কোনও সংস্থান আমি খুঁজে পাচ্ছি না। আমার এখন অবধি যা কিছু আছে তা হ'ল:
let string = "A \(stringOne) with \(stringTwo)"
var attributedString = NSMutableAttributedString(string: string)
textView.attributedText = attributedString
এখান থেকে আমি জানি যে আমার শব্দের পরিধিটি খুঁজে পেতে হবে যাগুলির পাঠ্য রঙ পরিবর্তন করতে হবে এবং তারপরে এটিকে বিশিষ্ট স্ট্রিংয়ে যুক্ত করতে হবে। আমার যা জানতে হবে তা হল কীভাবে বিশিষ্ট স্ট্রিং থেকে সঠিক স্ট্রিংগুলি খুঁজে পাওয়া যায় এবং তারপরে তাদের পাঠ্য রঙটি পরিবর্তন করা যায়।
আমার রেটিং খুব কম থাকায় আমি নিজের প্রশ্নের উত্তর দিতে পারি না, তবে উত্তরটি আমি এখানে পেয়েছি
এর থেকে কিছু কোড অনুবাদ করে অনুবাদ করে নিজের উত্তরটি পেয়েছি
একটি এনএসএট্রিবিউটেড স্ট্রিংয়ে সাবস্ট্রিংয়ের বৈশিষ্ট্যগুলি পরিবর্তন করুন
সুইফটে বাস্তবায়নের উদাহরণ এখানে:
let string = "A \(stringOne) and \(stringTwo)"
var attributedString = NSMutableAttributedString(string:string)
let stringOneRegex = NSRegularExpression(pattern: nameString, options: nil, error: nil)
let stringOneMatches = stringOneRegex.matchesInString(longString, options: nil, range: NSMakeRange(0, attributedString.length))
for stringOneMatch in stringOneMatches {
let wordRange = stringOneMatch.rangeAtIndex(0)
attributedString.addAttribute(NSForegroundColorAttributeName, value: UIColor.nameColor(), range: wordRange)
}
textView.attributedText = attributedString
যেহেতু আমি একাধিক স্ট্রিংয়ের পাঠ্য রঙটি পরিবর্তন করতে চাই তাই আমি এটি হ্যান্ডেল করতে একটি সহায়ক ফাংশন করব, তবে এটি পাঠ্য রঙটি পরিবর্তনের জন্য কাজ করে।