Calculadora geométrica iOS com tema lunar, animações fluidas e personagem interativa — UIKit · Coordinator Pattern
Lunar é um app iOS educativo de geometria com identidade visual inspirada no espaço. A personagem Lunar guia o usuário no cálculo de propriedades do círculo — raio, diâmetro, circunferência e área — a partir de qualquer valor conhecido. Toda a interface foi construída programaticamente com UIKit, sem storyboards, usando Auto Layout e animações customizadas. Projeto desenvolvido no Apple Developer Academy — CIn-UFPE.
- Personagem Lunar com animação frame-by-frame (8 sprites) e efeito flutuante
- Calculadora de círculo que calcula raio, diâmetro, circunferência e área a partir de qualquer valor inserido
- Picker de propriedades — selecione qual valor inserir e os demais são calculados automaticamente
- Animações de nuvens superiores e inferiores com bounce contínuo
- Fundo estelar animado na tela de cálculo
- Diagrama interativo com representação visual de raio, diâmetro e área
- Interface 100% programática com ViewCode e Auto Layout, sem storyboards
- Swift — linguagem principal
- UIKit — toda a interface construída programaticamente
- Auto Layout com constraints programáticas
- UIView.animate para animações fluidas e recursivas
- UIPickerView para seleção de propriedades geométricas
- Coordinator Pattern para navegação desacoplada entre telas
Luna/
├── Application/
│ ├── AppDelegate.swift
│ └── SceneDelegate.swift
├── Sources/
│ ├── Circle/
│ │ ├── Calculation.swift
│ │ ├── CircleView.swift
│ │ └── CircleViewController.swift
│ ├── CloudView/
│ │ ├── CloudBottomView.swift
│ │ └── CloudTopView.swift
│ ├── Coordinator/
│ │ ├── Coordinator.swift
│ │ └── MainCoordinator.swift
│ ├── Extensions/
│ │ └── UIFont+Rounded.swift
│ └── Intro/
│ ├── Controller/
│ │ └── IntroViewController.swift
│ └── View/
│ ├── IntroView.swift
│ └── LunaView.swift
└── Resources/
└── Assets.xcassets/
- Clone o repositório:
git clone https://github.com/GeozedequeGuimaraes/Lunar.git- Abra
Luna.xcodeprojno Xcode - Selecione um simulador ou dispositivo físico (iOS 17+)
- Execute com
Cmd + R


