
הטקסט המלא של הדקות הראשונות בהרצאה «הצגת popover באייפון» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום וברוכים הבאים בסרטון הקודם ראינו איך להציג פופ-אוברים באייפד וגם ראינו איך לעשות אדפטציה לפופ-אוברים באייפון כי באייפון אין לנו את כל המקום שיש לנו באייפד ולכן אנחנו לא יכולים להציג את זה בהכרח כפופ-אובר אבל מה קורה אם יש לכם פופ-אובר קטנצ'יק
שאתם רוצים להציג פה מתחת לכפתור שור נגיד שהפופ-אובר שלכם הוא ממש קטן וקומפקטי ואתם רוצים להציג אותו פה באייפון מתחת לכפתור על מנת להציג פופ-אוברים באייפון אנחנו צריכים להתערב, זאת לא ההתנהגות הדפולטית כמו שראינו בסרטון הקודם ועל זה אנחנו רוצים לדבר היום.
אז בואו נתחיל. אני אארגן פשוט עוד פופ-אובר כדי שככה יהיה לנו את כל האפשרויות מה שנקרא, אז אנחנו נוסיף View Controller חדש, אני פתחתי את העץ מרכיבים וחיפשתי View Controller ואני אוסיף אותו נניח לכאן, נגרור אותו קצת למטה, נסדר פה טיפה ונוסיף כפתור כדי שנוכל לגרור סגוויי אז הנה כפתור, נניח נכתוב על הכפתור send,
נאלץ את הכפתור לימין ולמטה, אז 16 16 פה בדדים, יפה, ולגבי ה-Segway, בוא נגרור לכאן Segway, וה-Segway הוא כמובן Popover Segway.
עכשיו כאן אנחנו נרצה איזשהו תוכן, אז אני אגרור לכאן Image View, שזה יהיה התוכן של ה-Popover שלנו. עכשיו ה-Popover בעצם תופס את כל המסך, נכון?
אז אני אגרור אותו לכל המסך, כמו במקרה הקודם ואנחנו נחליט מה יהיה הגודל שלו בפועל הוא יכול להיות 50 פיקסל 50 פיקסל אנחנו עוד תכף נחליט לגבי זה בקוד מה שכן בוא נשים פה רגע תמונה אז אני לוקח את התמונה היחידה שיש לי בפרויקט שיהיה נכון?
עכשיו זה יוצא כ-popover זה יהיה הרבה יותר קטן אז אני יכול ככה להקטין פה את הגודל אבל אנחנו נעשה את זה כבר מהקוד שתי דברים אחרונים אנחנו רוצים לתפוס פה את הכפתור הוא כבר מבצע את ה-segway אבל אנחנו נרצה להוציא לו outlet ולגבי ה-Segway אנחנו רוצים לתת לו ID. אז אני אתפוס קודם את ה-Segway נסיים איתו עומד על ה-Segway לוחץ קליק כאן אני אתן לו
Identifier נגיד Popover E-Mail ולגבי הכפתור אני רוצה להוציא לו Outlet כמו שאמרתי אז אני מסמן את הכפתור פותח בצד ימין את ה-סיסטנט אדיטור אנחנו רוצים לגרור מהכפתור ככה לכאן Outlet ולשים לב שזה יוצא Outlet ולא Action ובוא נקרא לזה נניח btn save כתבנו שם save נכון למטה אוקיי מגניב send לא נורא אבל העיקר שזה outlet נכון
עכשיו בוא נחזור לטפל בקוד אני אסגור את ה-assistant editor ואני אסתכל רק על ה-view controller אז אנחנו עכשיו רק ב-view controller וכבר נלך ל-prepare for segue כאן אנחנו רוצים להתכונן לסגווי המדובר ולעזור לו להבין שאנחנו רוצים בכל זאת פופ אובר גם באייפון אז בוא נרשום לעצמנו כותרת pop over on אייפון אנחנו רוצים בעצם להכריח את זה
אז נגיד forse כי אנחנו יודעים שההתנהגות הדפלטית כמו שראינו בסרטונים הקודמים היא בעצם להציג את זה בצורה אדפטיבית אז כדי לעשות את זה קודם כל נבדוק אם זה ה-segway המדובר אז if segway.identifier שווה שווה ל-popover-email הזה שהגדרנו קודם ב-identifier
של ה-segway אזי אנחנו לא רוצים להמשיך לקוד שלמטה אז בוא נעשה פה return ובמקרה כזה אנחנו רוצים להיות ה-delegate של ה-presentation controller של ה-view controller שבדסטיניישן.
אז בוא נעשה ככה let dest שווה segue.destination שיהיה לנו יותר קל ואז dest.popoverPresentation.delegate שווה ל-self כמו שעשינו בסרטון הקודם.
עכשיו המתודה המעניינת פה במקרה הזה היא Adaptive PresentationStyle עבור ViewController וכאן אנחנו רוצים להגיד שאנחנו לא רוצים אדפטיביות אנחנו רוצים להגיד נון אוקיי אני לא מעוניין באדפטיביות אם אנחנו נריץ את זה רגע בלי הפונקציה אז מה אנחנו יודעים על האייפון שהדבר הזה לא יוצג בפופ אובר הוא יוצג במסך חדש נכון עכשיו ברגע
שאני בא ומוסיף את הפונקציה הזאת בואו נראה אז אני לוחץ מצג לי במודל מגניב גם הקטע הזה עם הדן זה כבר עשינו בשיעור הקודם אבל עכשיו אנחנו רוצים להגיד משהו אחר אנחנו רוצים להגיד אל תעשה לי את זה בבקשה ככה אנחנו רוצים להציג את זה כפופ אובר אוקיי אז בוא נראה מה יוצא מזה אמרתי אל תעשה לי את זה אני רוצה קצת פופ אובר אני לוחץ על send וואלה
פופ אובר מגניב האמת אבל קצת גדול מדי נכון זאת אומרת זה פופ אובר שתופס את כל המסך אז בוא נראה מה אנחנו יכולים לעשות לגבי זה הדבר הראשון שאנחנו נעשה זה קודם כל לקבוע את הפרפרד קונטנט סייז שיהיה איזשהו סיג'י סייז יותר ככה קומפקטי בוא נגיד 50 על 50 יספיק ונריץ נראה איפה אנחנו עומדים אני חושב שזה
אמור להיראות יחסית בסדר אבל תמיד אפשר לשפר בוא נראה אם זה המצב אז יפה מאוד האמת אולי הייתי רוצה ככה להזיז את הדבר הזה שיהיה בדיוק בצד של הכפתור נניח או לשלוט קצת על הכוונון אז אפשר להוסיף עוד טיפונת קוד למעשה אנחנו נוסיף פה ככה ואנחנו רוצים ללכת ל-popover-presentation-controller וכאן יש לנו את נניח
ה-permitted-aerodirections אנחנו נרצה לקבוע שזה יהיה חץ למטה אנחנו נרצה אותו דבר, dest.popover.source-view שווה לבטון שלנו שלמעלה אז btn-save יפה מאוד ו-dest.popover-view-controller.frame ה-source-react למעשה אז כאן זה יהיה איזשהו cg frame, cg-rex סליחה,
ובוא נגיד שמבחינת x אנחנו רוצים את הרוחב של הכפתור לקחת אז btn-save.frame.width וכל השאר לא מעניין