-
Notifications
You must be signed in to change notification settings - Fork 48
feat: add splash screen with centered logo #81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
5d25617
44c830c
6efdd2d
cffc8a2
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| { | ||
| "colors" : [ | ||
| { | ||
| "color" : { | ||
| "color-space" : "srgb", | ||
| "components" : { | ||
| "alpha" : "1.000", | ||
| "blue" : "1.000", | ||
| "green" : "1.000", | ||
| "red" : "1.000" | ||
| } | ||
| }, | ||
| "idiom" : "universal" | ||
| }, | ||
| { | ||
| "appearances" : [ | ||
| { | ||
| "appearance" : "luminosity", | ||
| "value" : "dark" | ||
| } | ||
| ], | ||
| "color" : { | ||
| "color-space" : "srgb", | ||
| "components" : { | ||
| "alpha" : "1.000", | ||
| "blue" : "0.078", | ||
| "green" : "0.071", | ||
| "red" : "0.067" | ||
| } | ||
| }, | ||
| "idiom" : "universal" | ||
| } | ||
| ], | ||
| "info" : { | ||
| "author" : "xcode", | ||
| "version" : 1 | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| { | ||
| "colors" : [ | ||
| { | ||
| "color" : { | ||
| "color-space" : "srgb", | ||
| "components" : { | ||
| "alpha" : "1.000", | ||
| "blue" : "0.078", | ||
| "green" : "0.071", | ||
| "red" : "0.067" | ||
| } | ||
| }, | ||
| "idiom" : "universal" | ||
| }, | ||
| { | ||
| "appearances" : [ | ||
| { | ||
| "appearance" : "luminosity", | ||
| "value" : "dark" | ||
| } | ||
| ], | ||
| "color" : { | ||
| "color-space" : "srgb", | ||
| "components" : { | ||
| "alpha" : "1.000", | ||
| "blue" : "1.000", | ||
| "green" : "1.000", | ||
| "red" : "1.000" | ||
| } | ||
| }, | ||
| "idiom" : "universal" | ||
| } | ||
| ], | ||
| "info" : { | ||
| "author" : "xcode", | ||
| "version" : 1 | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| { | ||
| "images" : [ | ||
| { | ||
| "filename" : "splash_logo.png", | ||
| "idiom" : "universal", | ||
| "scale" : "1x" | ||
| }, | ||
| { | ||
| "idiom" : "universal", | ||
| "scale" : "2x" | ||
| }, | ||
| { | ||
| "idiom" : "universal", | ||
| "scale" : "3x" | ||
| } | ||
| ], | ||
| "info" : { | ||
| "author" : "xcode", | ||
| "version" : 1 | ||
| }, | ||
| "properties" : { | ||
| "preserves-vector-representation" : true, | ||
| "template-rendering-intent" : "template" | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,51 @@ | ||||||||||||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||||||||||||
| <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> | ||||||||||||||
| <device id="retina6_12" orientation="portrait" appearance="light"/> | ||||||||||||||
|
||||||||||||||
| <device id="retina6_12" orientation="portrait" appearance="light"/> |
Outdated
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The storyboard hardcodes the image dimensions as 1024x1024 in the resources section (line 43), but the imageView is constrained to 100x100 points (lines 24-25). While Auto Layout will handle the scaling at runtime using the scaleAspectFit content mode (line 20), the hardcoded dimensions in the resources section are merely informational for Interface Builder.
This is acceptable, but be aware that providing a 1024x1024 PNG for display at 100x100 points means:
- On 1x devices: The image is scaled down 10.24x
- On 2x devices: The image is scaled down 5.12x
- On 3x devices: The image is scaled down 3.41x
This is inefficient in terms of bundle size. Consider using appropriately sized assets or a vector PDF to optimize the app bundle.
| <image name="SplashLogo" width="1024" height="1024"/> | |
| <image name="SplashLogo" width="100" height="100"/> |
Outdated
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The storyboard includes hardcoded RGB color values in the resources section (lines 44-49) that duplicate the color definitions from the named color sets. This creates a discrepancy where:
- The view references named colors
SplashBackgroundandSplashLogoColor(lines 22, 30) which support light/dark mode - But the
<resources>section defines fallback RGB values that only represent the light mode colors
This inconsistency could cause issues if the named color assets are not found. Consider removing the hardcoded RGB values from the resources section and relying solely on the named colors, or ensure the fallback values accurately represent both appearance modes.
| <namedColor name="SplashBackground"> | |
| <color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
| </namedColor> | |
| <namedColor name="SplashLogoColor"> | |
| <color red="0.066999999999999993" green="0.070999999999999994" blue="0.078" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | |
| </namedColor> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The image asset is configured to use only a 1x image (
splash_logo.pngat 1024x1024) without providing 2x and 3x variants. While thepreserves-vector-representationproperty is set to true (suggesting vector/PDF support), the actual asset is a PNG file, not a vector format.For optimal display quality on all iOS devices, consider either:
preserves-vector-representation: trueto automatically scale to all resolutionsSince the logo is used as a template (for tinting), a PDF vector would be the preferred approach for best quality and smaller bundle size.