PracticU

עבודה עם UITableView - יצירת מחלקה עבור התאים ועיצוב אישי של התא - Custom Cells

בלי כתוביותעם כתוביות
PracticU › קורס פיתוח אפליקציות - לאייפון iPhone iOS - ב-Swift-Xcode › עבודה עם UITableView - יצירת מחלקה עבור התאים ועיצוב אישי של התא - Custom Cells
מילון מושגים:
מחלקה - תבנית בתכנות מונחה עצמים שמגדירה אילו נתונים ופעולות יהיו לאובייקטים שנוצרים ממנה.
iOS - מערכת ההפעלה של אפל למכשירי iPhone ו-iPad.
תמונה - קובץ גרפי המוצג על המסך. בהקשר של וירטואליזציה או Docker, תבנית מוכנה שממנה יוצרים מכונה או קונטיינר.
רכיב - יחידת בניין עצמאית וניתנת לשימוש חוזר בתוך מערכת או ממשק משתמש, שאחראית על חלק מוגדר מהתפקוד.

עבודה עם UITableView - יצירת מחלקה עבור התאים ועיצוב אישי של התא - Custom Cells
בשיעור לומדים לעצב תא משלנו בטייבל, במקום לבחור סגנון מוכן של iOS. התא המותאם מכיל תמונה ושתי תוויות, ומחובר לקלאס שמאפשר לגשת לכל רכיב בקוד.
עיצוב התא בסטורי בורד
- בוחרים את התא ומשנים את הסגנון ל-Custom.
- מוסיפים Image View לצד שמאל ושתי תוויות בצד ימין: אחת לכותרת ואחת לנתונים נוספים.
- האילוצים נקבעים בשוליים של 8 עד 16 נקודות, כך שהתמונה והתוויות מסודרות לפי הגובה של התא.
הקלאס של התא
1. יוצרים קובץ Swift חדש שיורש מ-UITableViewCell, למשל MovieTableViewCell.
2. בסטורי בורד משייכים את התא לקלאס החדש בחלונית Identity Inspector.
3. גוררים Outlets מכל רכיב אל הקלאס. בשם של ה-Outlet לא משתמשים בשמות שכבר תפוסים על ידי UITableViewCell, כמו textLabel, detailTextLabel או imageView.
החיבור לנתונים
- בתוך cellForRowAt מבקשים את התא מתור ה-reuse, והופכים אותו לטייפ של MovieTableViewCell בעזרת as.
- מציבים את הכותרת, הבמאי והתמונה של הסרט בתוך ה-Outlets של התא.
- כשהתא מוגדר כראוי, כל שורה בטייבל מציגה את הנתונים שלה.
הסיכום: תא מותאם נבנה בסטורי בורד, משייך לקלאס משלו, ומקבל את הנתונים דרך Outlets שנקראים בשמות שאינם תפוסים.
השיעור הבא בקורס: עבודה עם UITableView - מעבר בין מסכים

פרקי ההרצאה: עבודה עם UITableView - יצירת מחלקה עבור התאים ועיצוב אישי של התא - Custom Cells

  1. 00:00

    תא מותאם אישית במקום סטייל מוכן

  2. 00:54

    שינוי סוג התא ל-Custom

  3. 01:50

    עיצוב התא עם תמונה ותוויות

  4. 03:43

    יצירת מחלקה מותאמת לתא

  5. 04:25

    שיוך המחלקה לתא ב-Storyboard

  6. 06:21

    שמות Outlet אסורים בתא

  7. 06:59

    Data Binding לתא החדש

תמלול ההרצאה: עבודה עם UITableView - יצירת מחלקה עבור התאים ועיצוב אישי של התא - Custom Cells

הטקסט המלא של הדקות הראשונות בהרצאה «עבודה עם UITableView - יצירת מחלקה עבור התאים ועיצוב אישי של התא - Custom Cells» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום וברוכים הבאים בסרטון הקודם ראינו איך אנחנו יכולים לייצר טייבל דיו אבל לא ראינו איך אנחנו יכולים לייצר קסטום סלס קסטום סלס כלומר אנחנו רוצים לעצב את התאים שיראו איך שאנחנו רוצים ולא לבחור מעיצוב מוכן כמו שבחרנו בסרטון הקודם בסרטון הקודם הוספנו סל אבל לא לקחנו קסטום סל וכשאני אומר קסטום סל אני מתכוון סל שאנחנו

  2. 00:29

    הצבנו בעצמנו אלא בחרנו סטייל אחד מהמוב היום אנחנו רוצים לשדרג את הפרויקט ולהעיף את הסטייל הזה של ה-ride detail ובמקומו לעשות קאסטום.

  3. 00:42

    כדי לעשות קאסטום זה אומר שאנחנו מעצבים לבד את התא שלנו ובואו נתחיל. וגם מתכנתים מסביב זה וכן הלאה, כן? אז בואו נתחיל. דבר ראשון שיניתי את הטייפ של הסל לקאסטום, זה האלף.

  4. 00:59

    דבר שני אנחנו עדיין זוכרים פה את ה-identifier כי הקוד שלנו צריך את זה. בנוסף מה שאנחנו נרצה לעשות אנחנו נרצה עכשיו להוסיף לפה פקדים איזה פקדים שאתם רוצים זאת אומרת אימג' ויו וכן הלאה אז הוספתי לעצמי אימג' ויו אני אשים אותו נניח פה בצד שמאל

  5. 01:21

    אשים אותו נניח פה לא יודע תכף נשים בתמונה ואז נראה ככה כמה היא תופסת בצורה נורמלית דבר שני שאנחנו רוצים לעשות זה להוסיף איזה שני לייבלים בוא נסתכל רגע על האפיון שלנו אז יש לי לייבל למעלה ולייבל למעלה בסדר גמור אז בוא נראה הנה פקדים טיפת לייבל די פשוט ועוד אחד דרך אגב אפשר להעתיק את זה ולהדביק ואני אשים את זה פה למטה מבחינת אילוצים אז

  6. 01:53

    נורא פשוט אני מצמיד את זה לחלק השמאלי אם עשיתי 0,0 זה נעשה מכל הכיוונים זאת התמונה ליד התמונה יש לנו את הלייבל לים פשוט אוסיף שתי אילוצים למעלה ושמאלה ולמטה ושמאלה הלייבל השני מצוין אז הנה יש לנו פה מוק סרט לדוגמה כמובן שבזמן ריצה אנחנו נראה

  7. 02:29

    פה את הסרטים האמיתיים בגלל שזה מה שאנחנו נסדר בקוד. בינתיים אבל אנחנו יכולים ככה לנוח על זרי הדפנה מה שנקרא ולבדוק אם ואיך הדבר הזה עובד.

  8. 02:43

    מה שאנחנו נעשה, אנחנו נשאיר את הקוד מהשיעור הקודם שהוא קוד מצוין, אני רק אסדר אותו טיפה ונוריד את מה שמיותר. אז עדיין אנחנו רוצים לעשות let cell שווה ועדיין אנחנו רוצים לדעת באיזה שורה אנחנו נמצאים ולשלוף משם סרט אבל הדאטה ביינדינג כבר לא מתאים כי אנחנו לא רוצים להשתמש בטקסטים ובדיטיילים

  9. 03:04

    שהיו קודם כי הם לא יפים ולכן אנחנו נרצה לעצור כאן ופה להוסיף קוד חדש כאן ניכנס עוד קוד בוא נריץ רגע נראה בינתיים כשאנחנו ככה עומדים על אותו נקודה שאנחנו מצפים לעמוד בה אז אנחנו מריצים מסתכלים והופה יש לנו ככה חמש סרטים כמו שצריך אחד שתיים שלוש ארבע חמש יפה עם אפשרות לסקרול וכל מה שצריך מעולה רק מה שכן אנחנו צריכים ללמוד

  10. 03:37

    פה לעשות דאטה ביינדינג וזה לא כל כך פשוט כי אין לי את האפשרות להגיד אין לפנות אל הפקדים שהוספתי בשמם וכדי לעשות את זה אנחנו נצטרך לייצר לעצמנו קאסטום קלאס נוסף חדש אז בואו נעשה את זה קליק ימני New File והפייל שלי הוא יהיה מסוג CocoTouch Class שיורש מ-UI Table View Set אנחנו נקרא לסל שלנו מובי סלט מובי טייבל ויו

  11. 04:09

    סלט בגלל שזה מה שהוא בדיוק מייצר אותו ודואג שהוא יצטרף לפרויקט וכן הלאה. הקוד שיש כאן אני כרגע לא צריך אותו אנחנו נלמד ככה בהמשך מה אומר כל דבר פה מה שכן אני חוזר רגע לסטורי בורד ובגלל שיצרתי לעצמי קאסטום קלאס מה שאני אעשה אני אשייך את הקלאס שימו לב אני עומד פה על

  12. 04:35

    הסל ואני הולך לאידנטיטי אינספקטור ומשייך את הקלאס לקובץ שיצרתי זה מובי טייבל ויו סל זה שלב מאוד חשוב הוא הכרחי כי עכשיו כשאני אגרור אאוטלטים אני אוכל לגרור אאוטלטים לקובץ הזה שעכשיו יצרתי איך קראנו לקובץ מובי טייבל ויו סל דרך אגב ככה אליו אנחנו נגרור את האאוטלטים אז מה שאנחנו נעשה עכשיו אנחנו יכולים לפתוח את האסיסטנט אדיטור לבדוק פה

  13. 05:02

    שאנחנו באוטומטיק רואים את הקובץ שלנו החדש רגע ואם אנחנו לא רואים אז אנחנו נעמוד על הדבר, על הלייבל או על ה-image view ועוד פעם נלך פה לאוטומטי ונוודא שאנחנו יכולים לראות את הקובץ החדש שיצרנו את movie table viewset.

  14. 05:19

    לפעמים יש באגים בדבר הזה ולעיתים נדירות צריך לסגור את xcode ולפתוח מחדש כדי לעמוד על התמונה או על הלייבל ולראות פה באוטומטי את הקובץ שלנו, אבל במקרה שלי זה עובד יפה וגם אני מקווה שבמקרה שלכם זה עובד יפה, אחרת ריסטארט קטן לxcode ותחזרו על העניין הזה.

  15. 05:41

    מעולה אז הנה אנחנו כבר נמצאים במצב שבו אנחנו יכולים לגרור אאוטלטים אז אני אגרור את הפוסטר הזה ואני אקרא לזה פוסטר אימג' ויו זה השם שבחרתי זה אחד הטייפ של זה זה יו האימג' ויו נהדר וזה אאוטלט מעולה עבור המובי טייטל אז בואו נקרא לו מובי לייבל או טייטל לייבל כדי שנהיה מאוד מאוד ברורים

  16. 06:10

    כמו שאוהבים ב-iOS והדירקטור לייבל בוא נוסיף אותו גם, Outlet ונקרא לו דירקטור Label נהדר. השמות היחידים שאני לא אמור לבחור כאן זה Title Label או דברים כאלה, בגלל שהשמות האלה הם כבר תפוסים בסופר קלאס של UiTable ViewCell. זוכרים שהשתמשנו קודם בדברים כמו טקסט לייבל ודברים כאלה, אז בזה אסור להשתמש, זה שם תפוס.

  17. 06:43

    אותו דבר, גם ה-Detail Text Label, גם השם הזה תפוס, בסדר? גם השם ImageView תפוס, אז אל תבחרו ImageView בבקשה, כי שלושת השמות האלה דפוסים על ידי הסופר קלאס UI טייבל ויו סל ואסור לנו להשתמש בהם, מעולה אז יש לי פוסטר טייטל ודירקטור איך אנחנו עכשיו

  18. 07:03

    עושים את הדאטה ביינדינג נחזור לויו קונטרולר שלנו בואו נסתכל וכל מה שנשאר לנו עכשיו לעשות זה את הדאטה ביינדינג בשיטה החדשה כדי לעשות את הדאטה ביינדינג קודם כל הסל שלנו הוא לא סתם UI טייבל ויו סל אנחנו הרי יודעים שהטייבל ניו סל שלנו הוא מובי סל כי שייכנו אותו אז הוא מובי טייבל

לקורס המלא: קורס פיתוח אפליקציות לאייפון

ההרצאה הקודמת: עבודה בסיסית עם UITableView - עיצוב מובנה

ההרצאה הבאה: עבודה עם UITableView - מעבר בין מסכים

הרצאות קשורות מקורסים אחרים

  • יצירת מחלקה ואובייקטים ב-TypeScript
  • מחלקה sealed
  • Custom Toast
  • יצירת מחלקה עם כל ההגדרות - Config Class - חלק 1

קורסים נוספים במסלול

  • קורס יסודות התכנות - שפת JAVA - קורס ג'אווה למתחילים
  • קורס פיתוח אפליקציות - לאנדרואיד - Android - ב-JAVA
  • קורס פלאטר - Flutter - שפת DART של גוגל למובייל - פיתוח אפליקציות לאנדרואיד ואייפון
  • קורס PhoneGap - פיתוח אפליקציות לאנדרואיד ואייפון