summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan C <ianc@noddybox.co.uk>2023-11-25 21:17:23 +0000
committerIan C <ianc@noddybox.co.uk>2023-11-25 21:17:23 +0000
commitc25c441996f01bf0c7caf1674fc85c717f15a40e (patch)
treeccade860715c178d318d6f7f08543ca2ae21c756
parentae1c0f5cf5b9ffa44e1e5f18897f55d3f49e9484 (diff)
Checkin following lessaon
-rw-r--r--metal_test.xcodeproj/project.pbxproj8
-rw-r--r--metal_test/Assets.xcassets/test_image.imageset/Contents.json21
-rw-r--r--metal_test/Assets.xcassets/test_image.imageset/test_image.jpgbin0 -> 27129 bytes
-rw-r--r--metal_test/CircleImage.swift23
-rw-r--r--metal_test/ContentView.swift21
-rw-r--r--metal_test/MapView.swift31
6 files changed, 100 insertions, 4 deletions
diff --git a/metal_test.xcodeproj/project.pbxproj b/metal_test.xcodeproj/project.pbxproj
index 82a1dc2..42b5659 100644
--- a/metal_test.xcodeproj/project.pbxproj
+++ b/metal_test.xcodeproj/project.pbxproj
@@ -7,6 +7,8 @@
objects = {
/* Begin PBXBuildFile section */
+ 3D4E32F62B1290C900968289 /* CircleImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4E32F52B1290C900968289 /* CircleImage.swift */; };
+ 3D4E32F82B12959E00968289 /* MapView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D4E32F72B12959E00968289 /* MapView.swift */; };
3D63BC8F2B11E80D007AE59F /* metal_testApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D63BC8E2B11E80D007AE59F /* metal_testApp.swift */; };
3D63BC912B11E80D007AE59F /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3D63BC902B11E80D007AE59F /* ContentView.swift */; };
3D63BC932B11E80E007AE59F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3D63BC922B11E80E007AE59F /* Assets.xcassets */; };
@@ -14,6 +16,8 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
+ 3D4E32F52B1290C900968289 /* CircleImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CircleImage.swift; sourceTree = "<group>"; };
+ 3D4E32F72B12959E00968289 /* MapView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapView.swift; sourceTree = "<group>"; };
3D63BC8B2B11E80D007AE59F /* metal_test.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = metal_test.app; sourceTree = BUILT_PRODUCTS_DIR; };
3D63BC8E2B11E80D007AE59F /* metal_testApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = metal_testApp.swift; sourceTree = "<group>"; };
3D63BC902B11E80D007AE59F /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
@@ -55,6 +59,8 @@
3D63BC8E2B11E80D007AE59F /* metal_testApp.swift */,
3D63BC902B11E80D007AE59F /* ContentView.swift */,
3D63BC922B11E80E007AE59F /* Assets.xcassets */,
+ 3D4E32F52B1290C900968289 /* CircleImage.swift */,
+ 3D4E32F72B12959E00968289 /* MapView.swift */,
3D63BC972B11E80E007AE59F /* metal_test.entitlements */,
3D63BC942B11E80E007AE59F /* Preview Content */,
);
@@ -140,7 +146,9 @@
buildActionMask = 2147483647;
files = (
3D63BC912B11E80D007AE59F /* ContentView.swift in Sources */,
+ 3D4E32F82B12959E00968289 /* MapView.swift in Sources */,
3D63BC8F2B11E80D007AE59F /* metal_testApp.swift in Sources */,
+ 3D4E32F62B1290C900968289 /* CircleImage.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/metal_test/Assets.xcassets/test_image.imageset/Contents.json b/metal_test/Assets.xcassets/test_image.imageset/Contents.json
new file mode 100644
index 0000000..5eef421
--- /dev/null
+++ b/metal_test/Assets.xcassets/test_image.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "test_image.jpg",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/metal_test/Assets.xcassets/test_image.imageset/test_image.jpg b/metal_test/Assets.xcassets/test_image.imageset/test_image.jpg
new file mode 100644
index 0000000..d119672
--- /dev/null
+++ b/metal_test/Assets.xcassets/test_image.imageset/test_image.jpg
Binary files differ
diff --git a/metal_test/CircleImage.swift b/metal_test/CircleImage.swift
new file mode 100644
index 0000000..8bb018b
--- /dev/null
+++ b/metal_test/CircleImage.swift
@@ -0,0 +1,23 @@
+//
+// CircleImage.swift
+// metal_test
+//
+// Created by Ian C on 25/11/2023.
+//
+
+import SwiftUI
+
+struct CircleImage: View {
+ var body: some View {
+ Image("test_image")
+ .clipShape(Circle())
+ .overlay {
+ Circle().stroke(Color.gray, lineWidth: 4)
+ }
+ .shadow(radius: 7)
+ }
+}
+
+#Preview {
+ CircleImage()
+}
diff --git a/metal_test/ContentView.swift b/metal_test/ContentView.swift
index 3318403..481242f 100644
--- a/metal_test/ContentView.swift
+++ b/metal_test/ContentView.swift
@@ -6,14 +6,27 @@
//
import SwiftUI
+import Metal
struct ContentView: View {
var body: some View {
VStack {
- Image(systemName: "globe")
- .imageScale(.large)
- .foregroundStyle(.tint)
- Text("Hello, world!")
+ MapView()
+ .frame(height:300)
+ CircleImage()
+ .offset(y:-130)
+ .padding(.bottom,-130)
+ VStack {
+ Text("Turtle Rock")
+ .font(.title)
+ HStack {
+ Text("Joshua Tree National Park")
+ .font(.subheadline)
+ Spacer()
+ Text("California")
+ .font(.subheadline)
+ }
+ }
}
.padding()
}
diff --git a/metal_test/MapView.swift b/metal_test/MapView.swift
new file mode 100644
index 0000000..e0ebb87
--- /dev/null
+++ b/metal_test/MapView.swift
@@ -0,0 +1,31 @@
+//
+// MapView.swift
+// metal_test
+//
+// Created by Ian C on 25/11/2023.
+//
+
+import SwiftUI
+import MapKit
+
+struct MapView: View {
+ var body: some View {
+ Map(initialPosition: .region(region))
+ }
+
+ private var region: MKCoordinateRegion {
+
+ MKCoordinateRegion(
+
+ center: CLLocationCoordinate2D(latitude: 34.011_286, longitude: -116.166_868),
+
+ span: MKCoordinateSpan(latitudeDelta: 0.2, longitudeDelta: 0.2)
+
+ )
+
+ }
+}
+
+#Preview {
+ MapView()
+}