Aftenskole i programmering sæson Registrering af tid. Sæson 2 - Lektion 5

Relaterede dokumenter
Opdatering i tabellen

Aftenskole i programmering sæson Watch Me. Sæson 2 - Lektion 19

Aftenskole i programmering sæson Flere registreringer. Sæson 2 - Lektion 8

Aftenskole i programmering sæson Core Data del 2. Sæson 2-13

Vejledning til oprettelse af Citrix adgang fra ipad.

PLANLÆG, SAMMENSÆT OG DEL UNDERVISNINGSMATERIALE. Fremtidens løsning til distribution af digitalt undervisningsmateriale

Vejledning til Kilometer Registrering

DMX styring med USB-interface

Kursusgang 11. Oversigt: Sidste kursusgang Værktøjer til udvikling og implementering af HCI-design Oversigt over Java Swing

Norddjurs hjemmefra. Vejledning. Oprettelse af adgang til Citrix fra ipad IT-AFDELINGEN

Hvordan laver jeg mit eget kort på ArcGIS Online?

Byg web sider. Introduktion:

vorbasse.dk Redaktørmanual Kentaur

Årsafslutning i SummaSummarum 4

Kom godt i gang med Klasseværelse. Lærervejledning om Klasseværelse-appen til Mac

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

7DVWHYHMOHGQLQJ#²#,QWHUQHW#([SORUHU

Guide til oprettelse/redigering af events på bornholm.info

ECdox som favorit. Indledning 1. Internet Explorer 2. Chrome 4. Safari 5. Favorit på mobile enheder 6 Android 6 IOS 7. ECdox på mobile enheder 7

Brugervejledning til. Videreuddannelsessekretariatet

Brugervejledning. Online.bane.dk. Se evt. vejledning Log på leverandørportal

Brugermanual. Revision 1

Tirsdagssejladser Brugervejledning til Sailwave

Husk altid at overvej grundigt, hvem du giver ekstern adgang til, da denne person vil have mulighed for at eksportere lister ud af systemet.

Web Admin 5.5. Brugsvejledning for User admin. Copyright 2003 Gullestrup.net

Indholdsfortegnelse. Indholdsfortegnelse.. side 2. Adgang til webgraf 3. Opslag adresse Styring af layout.. 5. Zoom funktioner..

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

ON!Track Mobil brugermanual

Manual til at redigere på stafetforlivet.dk for holddeltagere

#AlleKanKode. Lektion 3 - Operatorer

Tlf Fax

FMK begreber & Quickguide

Husk altid at overvej grundigt, hvem du giver ekstern adgang til, da denne person vil have mulighed for at eksportere lister ud af systemet.

Glance Del din skærm med op til 200 deltagere

Vejledning til online blanketten Prisindekset i producent og importleddet

Fjernadgang til BEC s systemer via Portal2

Opstart. I gang med Dreamweaver. Læs mere om... Generelle bemærkninger. Hvilken skærmopløsning? OBS

Mark like a Professional. Markeringssystem FlyMarker PRO

Programmeringseksempel til CX/IPC

Gem dine dokumenter i BON s Content Management System (CMS)

Sådan deltager du i et webinar

Lektion 6. Grundlæggende programmering i VR

Opstart. I gang med Dreamweaver. Læs mere om...

Vejledning til online blanketten Beskæftigede inden for bygge og anlæg

Dit velkendte Windows, bare bedre. Din introduktion til Windows 8.1 til virksomheder

// Visma Stellar. Ny version. Version

BEKEY vejledning til FK Distribution

Micro-pixel Neopixel til micro:bit

Brugervejledning for Pancomp APP En komplet løsning med rendyrket brugervenlighed

Brugervejledning for. Telenor Dialer

Patient Database - Manual

#Alle Kan Kode. Lektion 25 - Enums

3OMSTILLING. Manual til 3Omstilling Webklient for brugere V2.0

Quickguide Tele- og webkonference via UC

TESTPORTAL: BRUGERVEJLEDNING LOG IND ADGANGSKODE

Indhold. Evalueringsvejledning. En undersøgelse fra start til slut involverer 4 programmer: - SurveyXact - Excel - E-learn - SiteCore

Quickguide til IDEP.web Industriens salg af varer

Start med at markere en side og klik Lås og redigere. Rul ned til feltet med brødtekst. Klik på Vis redigeringsværktøj.

OptiCaller Client v2.0

Kom godt i gang med Klasseværelse 2.1. Lærervejledning om Klasseværelse-appen til ipad

Dannelse af PDF-dokumenter

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps Find mere information på

Online.bane.dk. Før du starter på selve afmeldingen, skal der oprettes en serviceregistrering, som du kan afmelde på.

Internettet. Tema. på ipad Opdateret d Ældresagens datastue Aktivitetscentret Bavnehøj. Nørre Snede Tema: Internettet på ipad

Fremtidige ønsker til DANSDASTV

Bilag 3A.7 Brugergrænseflader

Vejledning til læreren. MG/FG - Skoleportalen

Brugermanual for opdatering af Touch and Play i CMS-systemet

Web Admin 5.5. Brugsvejledning for Domain admin. Copyright 2003 Gullestrup.net

Sådan opretter du en elektronisk aflevering

Vejledning til PDA - Hjælp til sårsygeplejersker. Sundhed og Omsorg Michael Væggemose

Overvågningskamera. ~Af Svend, Valdemar og Frederik~

Call Recorder Apresa Brugermanual

Installer nyt image på din PC - Windows 7

Vejledning til Serviceportalen

Gode praksisser og arkitekturer i Android-programmering. Android - praksisser og arkitekturer Copyright Lund & Bendsen A/S

Kom godt i gang med Danløn app en

Vejledning INSTALLATION AF ZHC5010 BETJENINGSTRYK MED FIBARO HOME CENTER. ZHC5010 Firmware Version: 1.0

Proloquo4Text Skriv. Tal. Kommuniker.

Introduktion til Playmapping

Dannelse af PDF dokumenter

Vejledning til at ligge billeder ind på Jerslev gruppes hjemmeside.

Brugervejledning. TDC Scale Assistent til iphone. Copyright NOMADICCIRCLE All rights reserved

Vejledning til e-conomic integration (v1.1) Via Skyhost

Hvordan gør jeg? Gennemgang af fotoredigeringsprogrammet Picasa

Sonofon Erhverv. Kom godt i gang. med SMS fra Outlook Brugervejledning. 1107V gældende fra 29. oktober

Bruger Manual PC Valtronics Udendørs Kamera - Windows system

GUIDE TIL PLANETS BRUGERADMINISTRATION

I denne vejledning kan du se hvordan du opretter et møde med tilmelding. Som eksempel bliver der oprettet et arrangement Gruppetur 2014

Formular modul. Sitecore Foundry juli Version 1.0

Vejledning i brug af dli dokumenthåndteringssystemet til virksomheder

Fjernadgang til BEC s systemer via Portal2

Kvikguide. TDC Call Center. Medarbejderfunktioner. TDC Call Center - Brugerflade

Indhold. Du kan klikke på den enkelte overskift for at komme til det ønskede punkt.

Serverguide v. Logos Consult

Mircobit Kursus Lektion 1

Tilføj observation Trin for trin

Opstart. I gang med Dreamweaver. Læs mere om...

TK/TBL / v.0.1. DigiMatch. Elektronisk Kamprapport

FB #2908: Slet bruger På "Slet bruger" siden kan der nu sættes et filter på, der gør det muligt at vise elever og ansatte hver for sig.

Transkript:

Registrering af tid Sæson 2 - Lektion 5

Før jul Vi har designet og bygget en model til håndtering af en timeregistrering Vi har kigget på hvordan vi håndterer fejl Vi har kopieret koden over i Bents x-code app, klar til at bygge videre på koden.

Agenda for i aften Vi skal bygge nogle simple brugergrænserflader Vi skal ændre i Bents app så Bents uge seddel ikke er default view. Vi skal se på hvordan indtastning af data via tastaturer. Vi skal se på andre måder at taste data ind via forvalgte valgmuligheder NB!.. Det er meget muligt at vi går lidt over i aften, måske ikke når det hele.

Husk at række hånden op 1. Skriv dit spørgsmål. 2. Ræk hånden op 3. Jeg holder flere spørge pauser undervejs

Først ryder vi lidt op Hvis vi kigger i vores xcode projekt så er der nogle warnings og fejl. Vi ryder ud med hård hånd for vi kan altid tilføje mangler senere Tid til lidt oprydning i xcode

Vi skal bruge flere MVC I en app er det ikke unormalt at vi har flere MVC Derfor skal views / viewcontroller navngives så vi kan håndtere flere forskellige MVC. Og så retter vi for at fjerne de fejl det giver. Tid til at opdatere i Xcode

Nyt view til TimeEntry Vi laver et enkelt view til vores TimeEntry. Vi laver en view controller til vores TimeEntryView Vi sætter vores nye view til at være vores primære view når appen startes. Xcode tid

Hvad har vi set i xcode Vi startede med at ryde op så vi ikke havde fejl og advarsler til at forstyre os når vi arbejder. Vi oprettede et nyt view i Interface Builder (en ny scene) ved at trække den ind i MainStoryboard fra palletten Vi lavede en ny gruppe til at holde alle viewcontrollere Vi lavede en ny fil TimeEntryViewController og lavede en class som nedarver fra UIViewController, og lod filen importere UIKit i stedet for Foundation Vi flyttede pilen der peger på den gamle scene til at pege på den nye scene, og så startede vi appen og så at den startede den nye scene i stedet for den gamle

Spørgsmål Aftenskole i programmering

Interface til en enkelt tidsregistrering Vi skal vise status og type Vi skal vise datoen og gøre det muligt at indtaste den manuelt Vi skal vise og gøre det muligt at indtaste en beskrivelse Vi skal vise og gøre det muligt at indtaste en tid manuelt Vi skal vise start og stop knapper så man kan starte eller stoppe en timer Først laver vi et interface med de felter vi vil bruge

Hvad så vi i Xcode Til de elementer der kun skal vise noget bruger jeg Labels Til de elementer hvor jeg skal kunne taste noget bruger jeg tekst felter Og til knapper bruger jeg.. Knapper

Spørgsmål? Aftenskole i programmering

Der er forskel på hvad man skal taste i felter, derfor er der forskellige tastaturer i Xcode. Default, Ascii mm er til almindelig tekst Numbers and Punctuation er almindeligt tastatur med tal i fokus Aftenskole i programmering Tastaturer egenskaber på tekst felter URL er almindeligt tastatur men optimeret til at indtaste URL (web adresser) Number Pad er et numerisk tastatur Phone Pad er et telefon tastatur Name Phone Pad er et tastatur med tekst taster og telefon taster E-mail adresses er et tastatur hvor @ har fokus Decimal Pad er et numerisk tastatur hvor du skal kunne taste et kommatal Twitter er et tastatur hvor @ og # er i fokus så du nemt kan lave at og Hash Web Search er ligesom URL rettet mod at du taster i et søgefelt i en browser Ascii Capable Number Pad er et gammelt sms tastatur

Vis og Skjul tastatur Tastatur vises når et tekstfelt får fokus, men det fjernes ikke nødvendigvis automatisk igen Vi skal kode styringen af tastaturet selv.

Hvad er First responder Brugergrænsefladen skal kunne reagerer på brugernes handlinger. Tryk på en knap Slide, pinch zoome, Gøre et felt aktivt så man kan taste i det. Når en bruger udfører en handling, så udføres der en event. (der kaldes en funktion) Denne funktion kan så være implementeret flere steder i applikationen (protokoller og nedarvning) og man finder den ved at gå ned af noget der kaldes en kæde.

Responder kæden Når der opstår en event, som feks at brugeren dapper på skærmen så sendes denne event ned igennem en kæde Det første view der er under fingertrykket får som regel fokus og bliver den første der svarer på dappet (First Responder) Hvis ikke dette view griber eventen så sendes det ned i kæden indtil der er en der griber eventen, i sidste ende helt ude i applikationen. Fra Apples dokumentation

UIResponder Aftenskole i programmering Link til Apples dokumentation

Alt vedr UI nedarver fra UIResponder Stort set alt der har med view at gøre nedarver fra UIResponder. Alle visuelle kontroller som felter mm nedarver fra UIView som nedarver fra UIResponder ViewControlleren nedarver fra UIResponder Main Application nedarver fra UIResponder Det ser vi i xcode..

Tekst felt og First Responder Når et tekstfelt får fokus, og bliver first responder (når vi dapper på det) så vises tastaturet (becomefirstresponder) Når et tekstfelt ikke mere er i fokus og skal reagerer på tastetryk så holder det op med at være firstresponder (resignfirstresponder) Når feltet holder op med at være firstresponder så skjules tastaturet Det skal vi se på i xcode.

Hvad har vi set på i Xcode Vi har set at alle elementer vedrørende view nedarver fra UIResponder Vi har set at vi kan vise tastaturet ved at sætte tekstfelt viewet til first responder med becomefirstresponder. Vi har set at vi kan fjerne tastaturet ved at fjerne first responder (resignfirstresponder eller self.view.endediting) Vi kan reagerer på End on Exit, eventen på et tekstfelt som fjerner tastaturet når vi trykker Enter knappen på tastaturet (DONE knappen, for på søge tastaturet heder knappen Søg eks) Vi skal selv kode skjulningen af tastaturet hvis man dapper uden for feltet. (Vi ser på koden lige om lidt)

Spørgsmål Aftenskole i programmering

Skjul tastaturet når vi dapper uden for Der er flere forskellige hacks, til hvordan man kan skjule tastaturet når man dapper uden for. Nogen placerer en stor usynlig knap på brugergrænsefladen som dækker hele viewet, og den ligger bagerst. Responder kæden vil så sørge for at på et eller andet tidspunkt reagerer knappen på et tryk og dermed kan ma skjule tastaturet. Man kan også lade view controlleren reagere på at der er dappet ved at den overstyre en funktion fra UIResponder, touchesbegan Et dap er også det vi kalder for en Gesture

Gestures Gestures er de magiske bevægelser, vi kan anvende til touch, og hvis du søger i interfacebuilder kan du se de gestures du kan anvende Man kan tilknytte en Recognizer type til et view. Det betyder at man gør viewet i stand til at genkende at brugeren gør en af de mange gestures. Vi kan bruge Tab Gesture Recognizer på vores hoved view for at registrere at brugeren har tappet / dappet på skærmen uden for vores tekstfelt eks, og dermed reagerer og skjule tastaturet. Det skal vi se på i xcode.

Hvad så vi i Xcode, og hvad så vi ikke Vi kan vælge bare at lade viewcontrolleren gribe eventen fra UIResponder og implementere funktionen touchesbegan override func touchesbegan(_ touches: Set<UITouch>, with event: UIEvent?) { self.hidekeyboard() } (IKKE VIST) Vi kan vælge at placere en skjult baggrundsknap på viewet som vi så lader kalde en funktion der kan skjule tastaturet. Vi kan vælge at tilknytte en tab view gesture recognizer til vores hoved view og lade den reagerer på sent action og knytte den sammen med en funktion der kan skjule tastaturet.

Hvorfor så mange muligheder? Godt spørgsmål, jeg forstår ikke selv hvorfor Apple ikke bare har indbygget dem så tastatur vises og skjules automatisk. Omvendt har du så mange muligheder for at styre dit interface selv Og som du kan se så er der ikke een regel der er den rigtige, du kan lave din helt egen måde at gøre det på.

Spørgsmål til keyboard, UIResponder, First Responder osv.

Til næste uge Prøv at kæde de andre felter mm sammen med viewcontrolleren Prøv at lege med de forskellige tastaturer. I næste uge kigger vi på hvordan vi håndterer indtastning af dato og tid og hvordan vi bruger flere views. Husk du skal ikke løse alle problemer på en gang. Leg med et problem af gangen, og løs det.

Spørgsmål? Aftenskole i programmering

Vi ses tirsdag husk at lege lidt med det, du kan ikke ødelægge noget