Attributed String في Swift: دليل كامل مع أمثلة كود

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

Attributed String في Swift: عندما لا يكون النص العادي كافيًا



هل تساءلت يومًا لماذا يبدو النص في بعض التطبيقات وكأنه ورقة رمادية مملة، بينما في تطبيقات أخرى يبدو كعمل فني؟ السر بسيط: attributed string. إنها أقوى أداة لمطور iOS، تتيح لك التحكم في كل بكسل من النص: اللون، الخط، المسافات، الظلال، وحتى الروابط التفاعلية.



في هذه المقالة، سنشرح كيفية إنشاء NSAttributedString في Swift، وكيفية تخصيصه وأين يتم استخدامه. ستتعلم ليس فقط الحقائق الجافة، بل تقنيات حقيقية ستجعل تطبيقك أكثر جمالًا وسهولة في الاستخدام. هيا بنا!



ما هو Attributed String؟ الأساسيات التي يجب معرفتها



في String التقليدي، جميع الأحرف متشابهة - خط واحد، لون واحد، حجم واحد. NSAttributedString (ونسخته القابلة للتعديل NSMutableAttributedString) هي سلسلة يمكن أن يكون لكل حرف أو نطاق من الأحرف مجموعة خاصة به من السمات. تخيل أنك تكتب كلمة "مرحبًا": الحرف "م" - أحمر وغامق، "ر" - أزرق ومائل، وهكذا. هل يبدو هذا كالسحر؟ لا، إنها ببساطة Swift attributed string.



أين يتم استخدام هذا في التطبيقات الحقيقية؟

  • محررات النصوص (تمييز بالخط العريض، المائل)
  • شبكات التواصل الاجتماعي (الإشارات @username قابلة للنقر ومميزة بالألوان)
  • تطبيقات الدردشة (ألوان مختلفة لمستخدمين مختلفين)
  • الكتب الإلكترونية (خطوط مختلفة للعناوين والاقتباسات)
  • أي واجهة حيث النص ليس مجرد نص، بل عنصر تصميم


كيفية إنشاء NSAttributedString في Swift: من البسيط إلى المعقد



لنبدأ بمثال أساسي. في Swift، إنشاء attributed string هو عملية تحدد فيها قاموس السمات وتطبقه على النص.



مثال 1: أبسط attributed string

import UIKit

let plainText = "Hello, Swift!"let attributes: [NSAttributedString.Key: Any] = [ .foregroundColor: UIColor.red, .font: UIFont.boldSystemFont(ofSize: 18)]let attributedString = NSAttributedString(string: plainText, attributes: attributes)

// استخدامه في UILabellet label = UILabel()label.attributedText = attributedString


في هذا المثال، أنشأنا سلسلة حيث كل النص باللون الأحمر، خط غامق بحجم 18pt. لاحظ NSAttributedString.Key - وهو تعداد لجميع السمات الممكنة. هناك العشرات منها، وسننظر إلى الأكثر فائدة.



مثال 2: سمات مختلفة لأجزاء مختلفة من النص

وهنا يبدأ المرح الحقيقي. نستخدم NSMutableAttributedString:

let mutableString = NSMutableAttributedString(string: "هذا نص غامق، وهذا نص أحمر")

// تطبيق الخط الغامق على أول 10 أحرفmutableString.addAttribute(.font, value: UIFont.boldSystemFont(ofSize: 16), range: NSRange(location: 0, length: 10))

// تطبيق اللون الأحمر على آخر 15 حرفًاmutableString.addAttribute(.foregroundColor, value: UIColor.red, range: NSRange(location: 14, length: 15))

// استخدامه في UITextViewlet textView = UITextView()textView.attributedText = mutableString


هام: NSRange يعمل مع مواضع الأحرف، وليس مع فهارس Swift. كن حذرًا، خاصة مع الرموز التعبيرية والأحرف متعددة البايت.



أفضل 10 سمات ستستخدمها يوميًا



إليك قائمة بالمفاتيح التي ستستخدمها غالبًا عند العمل مع NSAttributedString Swift:



  • .font — الخط (UIFont)
  • .foregroundColor — لون النص
  • .backgroundColor — خلفية النص
  • .underlineStyle — التسطير (NSUnderlineStyle)
  • .strikethroughStyle — الشطب
  • .paragraphStyle — نمط الفقرة

المدونات

توصيات الكتب