Skip to content

Commit 7f70ee5

Browse files
Added product icon and status bar to example app (#101)
* Added product icon and status bar to example app similar to what has been done to CodeEditSourceEditor. * Fixed SwiftLint errors
1 parent 040be6e commit 7f70ee5

File tree

13 files changed

+195
-88
lines changed

13 files changed

+195
-88
lines changed

Example/CodeEditTextViewExample/CodeEditTextViewExample.xcodeproj/project.pbxproj

Lines changed: 25 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,34 @@
88

99
/* Begin PBXBuildFile section */
1010
6C2265DF2D306AB7008710D7 /* CodeEditTextView in Frameworks */ = {isa = PBXBuildFile; productRef = 6C2265DE2D306AB7008710D7 /* CodeEditTextView */; };
11-
6C2265E42D306B90008710D7 /* SwiftUITextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C2265E32D306B90008710D7 /* SwiftUITextView.swift */; };
12-
6C2265E62D306D37008710D7 /* TextViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6C2265E52D306D37008710D7 /* TextViewController.swift */; };
13-
6CCDA29B2D306A25007CD84A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6CCDA2942D306A25007CD84A /* Assets.xcassets */; };
14-
6CCDA29D2D306A25007CD84A /* CodeEditTextViewExampleApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CCDA2952D306A25007CD84A /* CodeEditTextViewExampleApp.swift */; };
15-
6CCDA29E2D306A25007CD84A /* CodeEditTextViewExampleDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CCDA2962D306A25007CD84A /* CodeEditTextViewExampleDocument.swift */; };
16-
6CCDA29F2D306A25007CD84A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6CCDA2972D306A25007CD84A /* ContentView.swift */; };
1711
/* End PBXBuildFile section */
1812

1913
/* Begin PBXFileReference section */
20-
6C2265E12D306B58008710D7 /* CodeEditTextViewExample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = CodeEditTextViewExample.entitlements; sourceTree = "<group>"; };
21-
6C2265E32D306B90008710D7 /* SwiftUITextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUITextView.swift; sourceTree = "<group>"; };
22-
6C2265E52D306D37008710D7 /* TextViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewController.swift; sourceTree = "<group>"; };
2314
6CCDA27D2D306A1B007CD84A /* CodeEditTextViewExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CodeEditTextViewExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
24-
6CCDA2942D306A25007CD84A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
25-
6CCDA2952D306A25007CD84A /* CodeEditTextViewExampleApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeEditTextViewExampleApp.swift; sourceTree = "<group>"; };
26-
6CCDA2962D306A25007CD84A /* CodeEditTextViewExampleDocument.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodeEditTextViewExampleDocument.swift; sourceTree = "<group>"; };
27-
6CCDA2972D306A25007CD84A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
28-
6CCDA2982D306A25007CD84A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2915
6CCDA2A12D306A5B007CD84A /* CodeEditTextView */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = CodeEditTextView; path = ../..; sourceTree = "<group>"; };
3016
/* End PBXFileReference section */
3117

18+
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
19+
B6654F662DF001EB003B32B8 /* Exceptions for "CodeEditTextViewExample" folder in "CodeEditTextViewExample" target */ = {
20+
isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
21+
membershipExceptions = (
22+
Info.plist,
23+
);
24+
target = 6CCDA27C2D306A1B007CD84A /* CodeEditTextViewExample */;
25+
};
26+
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
27+
28+
/* Begin PBXFileSystemSynchronizedRootGroup section */
29+
B6654F5D2DF001EB003B32B8 /* CodeEditTextViewExample */ = {
30+
isa = PBXFileSystemSynchronizedRootGroup;
31+
exceptions = (
32+
B6654F662DF001EB003B32B8 /* Exceptions for "CodeEditTextViewExample" folder in "CodeEditTextViewExample" target */,
33+
);
34+
path = CodeEditTextViewExample;
35+
sourceTree = "<group>";
36+
};
37+
/* End PBXFileSystemSynchronizedRootGroup section */
38+
3239
/* Begin PBXFrameworksBuildPhase section */
3340
6CCDA27A2D306A1B007CD84A /* Frameworks */ = {
3441
isa = PBXFrameworksBuildPhase;
@@ -41,29 +48,11 @@
4148
/* End PBXFrameworksBuildPhase section */
4249

4350
/* Begin PBXGroup section */
44-
6C2265E02D306AEB008710D7 /* Documents */ = {
45-
isa = PBXGroup;
46-
children = (
47-
6CCDA2962D306A25007CD84A /* CodeEditTextViewExampleDocument.swift */,
48-
);
49-
path = Documents;
50-
sourceTree = "<group>";
51-
};
52-
6C2265E22D306B69008710D7 /* Views */ = {
53-
isa = PBXGroup;
54-
children = (
55-
6CCDA2972D306A25007CD84A /* ContentView.swift */,
56-
6C2265E32D306B90008710D7 /* SwiftUITextView.swift */,
57-
6C2265E52D306D37008710D7 /* TextViewController.swift */,
58-
);
59-
path = Views;
60-
sourceTree = "<group>";
61-
};
6251
6CCDA2742D306A1B007CD84A = {
6352
isa = PBXGroup;
6453
children = (
6554
6CCDA2A12D306A5B007CD84A /* CodeEditTextView */,
66-
6CCDA2992D306A25007CD84A /* CodeEditTextViewExample */,
55+
B6654F5D2DF001EB003B32B8 /* CodeEditTextViewExample */,
6756
6CCDA2A02D306A5B007CD84A /* Frameworks */,
6857
6CCDA27E2D306A1B007CD84A /* Products */,
6958
);
@@ -77,19 +66,6 @@
7766
name = Products;
7867
sourceTree = "<group>";
7968
};
80-
6CCDA2992D306A25007CD84A /* CodeEditTextViewExample */ = {
81-
isa = PBXGroup;
82-
children = (
83-
6CCDA2952D306A25007CD84A /* CodeEditTextViewExampleApp.swift */,
84-
6C2265E02D306AEB008710D7 /* Documents */,
85-
6C2265E22D306B69008710D7 /* Views */,
86-
6CCDA2942D306A25007CD84A /* Assets.xcassets */,
87-
6CCDA2982D306A25007CD84A /* Info.plist */,
88-
6C2265E12D306B58008710D7 /* CodeEditTextViewExample.entitlements */,
89-
);
90-
path = CodeEditTextViewExample;
91-
sourceTree = "<group>";
92-
};
9369
6CCDA2A02D306A5B007CD84A /* Frameworks */ = {
9470
isa = PBXGroup;
9571
children = (
@@ -112,6 +88,9 @@
11288
);
11389
dependencies = (
11490
);
91+
fileSystemSynchronizedGroups = (
92+
B6654F5D2DF001EB003B32B8 /* CodeEditTextViewExample */,
93+
);
11594
name = CodeEditTextViewExample;
11695
packageProductDependencies = (
11796
6C2265DE2D306AB7008710D7 /* CodeEditTextView */,
@@ -159,7 +138,6 @@
159138
isa = PBXResourcesBuildPhase;
160139
buildActionMask = 2147483647;
161140
files = (
162-
6CCDA29B2D306A25007CD84A /* Assets.xcassets in Resources */,
163141
);
164142
runOnlyForDeploymentPostprocessing = 0;
165143
};
@@ -170,11 +148,6 @@
170148
isa = PBXSourcesBuildPhase;
171149
buildActionMask = 2147483647;
172150
files = (
173-
6C2265E62D306D37008710D7 /* TextViewController.swift in Sources */,
174-
6CCDA29D2D306A25007CD84A /* CodeEditTextViewExampleApp.swift in Sources */,
175-
6CCDA29E2D306A25007CD84A /* CodeEditTextViewExampleDocument.swift in Sources */,
176-
6CCDA29F2D306A25007CD84A /* ContentView.swift in Sources */,
177-
6C2265E42D306B90008710D7 /* SwiftUITextView.swift in Sources */,
178151
);
179152
runOnlyForDeploymentPostprocessing = 0;
180153
};
1.13 MB
Loading
21.9 KB
Loading
1.82 KB
Loading
76.9 KB
Loading
3.04 KB
Loading
293 KB
Loading
7.27 KB
Loading
Lines changed: 61 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,68 @@
11
{
22
"images" : [
33
{
4-
"idiom" : "universal",
5-
"platform" : "ios",
6-
"size" : "1024x1024"
7-
},
8-
{
9-
"appearances" : [
10-
{
11-
"appearance" : "luminosity",
12-
"value" : "dark"
13-
}
14-
],
15-
"idiom" : "universal",
16-
"platform" : "ios",
17-
"size" : "1024x1024"
18-
},
19-
{
20-
"appearances" : [
21-
{
22-
"appearance" : "luminosity",
23-
"value" : "tinted"
24-
}
25-
],
26-
"idiom" : "universal",
27-
"platform" : "ios",
28-
"size" : "1024x1024"
4+
"size" : "16x16",
5+
"idiom" : "mac",
6+
"filename" : "CodeEditTextView-Icon-16.png",
7+
"scale" : "1x"
8+
},
9+
{
10+
"size" : "16x16",
11+
"idiom" : "mac",
12+
"filename" : "CodeEditTextView-Icon-32.png",
13+
"scale" : "2x"
14+
},
15+
{
16+
"size" : "32x32",
17+
"idiom" : "mac",
18+
"filename" : "CodeEditTextView-Icon-32.png",
19+
"scale" : "1x"
20+
},
21+
{
22+
"size" : "32x32",
23+
"idiom" : "mac",
24+
"filename" : "CodeEditTextView-Icon-64.png",
25+
"scale" : "2x"
26+
},
27+
{
28+
"size" : "128x128",
29+
"idiom" : "mac",
30+
"filename" : "CodeEditTextView-Icon-128.png",
31+
"scale" : "1x"
32+
},
33+
{
34+
"size" : "128x128",
35+
"idiom" : "mac",
36+
"filename" : "CodeEditTextView-Icon-256.png",
37+
"scale" : "2x"
38+
},
39+
{
40+
"size" : "256x256",
41+
"idiom" : "mac",
42+
"filename" : "CodeEditTextView-Icon-256.png",
43+
"scale" : "1x"
44+
},
45+
{
46+
"size" : "256x256",
47+
"idiom" : "mac",
48+
"filename" : "CodeEditTextView-Icon-512.png",
49+
"scale" : "2x"
50+
},
51+
{
52+
"size" : "512x512",
53+
"idiom" : "mac",
54+
"filename" : "CodeEditTextView-Icon-512.png",
55+
"scale" : "1x"
56+
},
57+
{
58+
"size" : "512x512",
59+
"idiom" : "mac",
60+
"filename" : "CodeEditTextView-Icon-1024.png",
61+
"scale" : "2x"
2962
}
3063
],
3164
"info" : {
32-
"author" : "xcode",
33-
"version" : 1
65+
"version" : 1,
66+
"author" : "xcode"
3467
}
35-
}
68+
}

Example/CodeEditTextViewExample/CodeEditTextViewExample/Views/ContentView.swift

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,28 @@ struct ContentView: View {
1111
@Binding var document: CodeEditTextViewExampleDocument
1212
@AppStorage("wraplines") private var wrapLines: Bool = true
1313
@AppStorage("edgeinsets") private var enableEdgeInsets: Bool = false
14+
@AppStorage("usesystemcursor") private var useSystemCursor: Bool = false
15+
@AppStorage("isselectable") private var isSelectable: Bool = true
16+
@AppStorage("iseditable") private var isEditable: Bool = true
1417

1518
var body: some View {
16-
VStack(spacing: 0) {
17-
HStack {
18-
Toggle("Wrap Lines", isOn: $wrapLines)
19-
Toggle("Inset Edges", isOn: $enableEdgeInsets)
20-
}
21-
Divider()
22-
SwiftUITextView(
19+
SwiftUITextView(
20+
text: document.text,
21+
wrapLines: $wrapLines,
22+
enableEdgeInsets: $enableEdgeInsets,
23+
useSystemCursor: $useSystemCursor,
24+
isSelectable: $isSelectable,
25+
isEditable: $isEditable
26+
)
27+
.padding(.bottom, 28)
28+
.overlay(alignment: .bottom) {
29+
StatusBar(
2330
text: document.text,
2431
wrapLines: $wrapLines,
25-
enableEdgeInsets: $enableEdgeInsets
32+
enableEdgeInsets: $enableEdgeInsets,
33+
useSystemCursor: $useSystemCursor,
34+
isSelectable: $isSelectable,
35+
isEditable: $isEditable
2636
)
2737
}
2838
}

0 commit comments

Comments
 (0)