Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PhoneManager
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yang
PhoneManager
Commits
ce62ba6f
Commit
ce62ba6f
authored
Apr 08, 2025
by
yqz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
4-8-1
parent
8255602f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
92 additions
and
24 deletions
+92
-24
project.pbxproj
PhoneManager.xcodeproj/project.pbxproj
+4
-4
AppDelegate.swift
PhoneManager/AppDelegate.swift
+0
-1
HomeNoAdsViewController.swift
...Manager/Class/Session/NoAds/HomeNoAdsViewController.swift
+4
-4
PMAlertView.swift
PhoneManager/Class/Tool/Common/PMAlertView.swift
+54
-15
PMPageControl.swift
PhoneManager/Class/Tool/Common/PMPageControl.swift
+30
-0
No files found.
PhoneManager.xcodeproj/project.pbxproj
View file @
ce62ba6f
...
...
@@ -353,7 +353,7 @@
PRODUCT_BUNDLE_IDENTIFIER
=
com.app.phonemanager.bswidget
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_widget_dev
1
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_widget_dev
3
;
SKIP_INSTALL
=
YES
;
SWIFT_EMIT_LOC_STRINGS
=
YES
;
SWIFT_VERSION
=
5.0
;
...
...
@@ -388,7 +388,7 @@
PRODUCT_BUNDLE_IDENTIFIER
=
com.app.phonemanager.bswidget
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_widget_dev
1
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_widget_dev
3
;
SKIP_INSTALL
=
YES
;
SWIFT_EMIT_LOC_STRINGS
=
YES
;
SWIFT_VERSION
=
5.0
;
...
...
@@ -430,7 +430,7 @@
PRODUCT_BUNDLE_IDENTIFIER
=
com.app.phonemanager
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_dev
2
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_dev
3
;
SWIFT_EMIT_LOC_STRINGS
=
YES
;
SWIFT_OBJC_BRIDGING_HEADER
=
"PhoneManager/Class/Tool/Class/OC/PhoneManager-Bridging-Header.h"
;
SWIFT_OPTIMIZATION_LEVEL
=
"-Onone"
;
...
...
@@ -473,7 +473,7 @@
PRODUCT_BUNDLE_IDENTIFIER
=
com.app.phonemanager
;
PRODUCT_NAME
=
"$(TARGET_NAME)"
;
PROVISIONING_PROFILE_SPECIFIER
=
""
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_dev
2
;
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]"
=
phonemanager_dev
3
;
SWIFT_EMIT_LOC_STRINGS
=
YES
;
SWIFT_OBJC_BRIDGING_HEADER
=
"PhoneManager/Class/Tool/Class/OC/PhoneManager-Bridging-Header.h"
;
SWIFT_VERSION
=
5.0
;
...
...
PhoneManager/AppDelegate.swift
View file @
ce62ba6f
...
...
@@ -25,7 +25,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
if
let
current
=
Ssoryboard
.
instantiateViewController
(
identifier
:
"LauchVCID"
)
as?
LauchVC
{
window
?
.
rootViewController
=
current
window
?
.
makeKeyAndVisible
()
}
let
battery
=
WidgetPublicModel
.
battery
()
...
...
PhoneManager/Class/Session/NoAds/HomeNoAdsViewController.swift
View file @
ce62ba6f
...
...
@@ -74,8 +74,8 @@ class HomeNoAdsViewController: UIViewController, NoAdsStackDataSource {
return
close
}()
private
lazy
var
pageCtrol
:
UI
PageControl
=
{
let
page
=
UI
PageControl
()
private
lazy
var
pageCtrol
:
PM
PageControl
=
{
let
page
=
PM
PageControl
()
page
.
currentPageIndicatorTintColor
=
.
colorWithHex
(
hexStr
:
"#0082FF"
)
page
.
pageIndicatorTintColor
=
.
colorWithHex
(
hexStr
:
"#C6CEE0"
)
page
.
numberOfPages
=
3
...
...
@@ -112,7 +112,7 @@ class HomeNoAdsViewController: UIViewController, NoAdsStackDataSource {
b
.
textColor
=
.
colorWithHex
(
hexStr
:
"#666666"
)
content
.
addSubview
(
b
)
t
.
snp
.
makeConstraints
{
make
in
make
.
bottom
.
equalTo
(
content
.
snp
.
centerY
)
.
offset
(
-
1
)
make
.
bottom
.
equalTo
(
content
.
snp
.
centerY
)
.
offset
(
-
2
)
make
.
left
.
equalToSuperview
()
.
offset
(
10
)
}
b
.
snp
.
makeConstraints
{
make
in
...
...
@@ -275,7 +275,7 @@ extension HomeNoAdsViewController : UIScrollViewDelegate {
bottomContentView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalTo
(
buybut
)
make
.
bottom
.
equalTo
(
buybut
.
snp
.
top
)
.
offset
(
-
10
)
make
.
height
.
equalTo
(
6
9
)
make
.
height
.
equalTo
(
6
5
)
}
buybut
.
snp
.
makeConstraints
{
make
in
...
...
PhoneManager/Class/Tool/Common/PMAlertView.swift
View file @
ce62ba6f
...
...
@@ -7,43 +7,82 @@
import
UIKit
class
PMAlertView
:
NSObject
{
class
PMAlertView
:
UIViewController
{
private
var
pm_t
:
String
?
private
var
pm_msg
:
String
?
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
setUI
()
}
private
func
setUI
()
->
Void
{
pm_ActivityIndicator
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
equalToSuperview
()
make
.
top
.
equalToSuperview
()
.
offset
(
13
)
make
.
size
.
equalTo
(
CGSize
(
width
:
24
,
height
:
24
))
}
massage
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
pm_ActivityIndicator
.
snp
.
bottom
)
.
offset
(
15
)
make
.
width
.
lessThanOrEqualTo
(
140
)
make
.
width
.
greaterThanOrEqualTo
(
50
)
make
.
right
.
left
.
equalToSuperview
()
make
.
bottom
.
equalTo
(
content
.
snp
.
bottom
)
.
offset
(
-
5
)
}
content
.
snp
.
makeConstraints
{
make
in
make
.
centerX
.
centerY
.
equalToSuperview
()
}
}
func
show
()
->
Void
{
DispatchQueue
.
main
.
async
{
guard
let
rt
=
UIViewController
.
topMostViewController
()
else
{
return
}
self
.
pmAlert
.
view
.
addSubview
(
self
.
pm_ActivityIndicator
)
self
.
pm_ActivityIndicator
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
centerX
.
equalToSuperview
()
}
rt
.
present
(
self
.
pmAlert
,
animated
:
true
)
self
.
modalPresentationStyle
=
.
overFullScreen
self
.
modalTransitionStyle
=
.
crossDissolve
rt
.
present
(
self
,
animated
:
true
)
}
}
func
dismiss
()
->
Void
{
DispatchQueue
.
main
.
async
{
self
.
pmAlert
.
dismiss
(
animated
:
true
)
self
.
dismiss
(
animated
:
true
)
}
}
convenience
init
(
_
title
:
String
?,
_
message
:
String
?)
{
convenience
init
(
_
message
:
String
?)
{
self
.
init
()
self
.
pm_t
=
title
self
.
pm_msg
=
message
}
private
lazy
var
pmAlert
:
UIAlertController
=
{
let
pm
=
UIAlertController
(
title
:
""
,
message
:
pm_msg
,
preferredStyle
:
.
alert
)
return
pm
}()
private
lazy
var
pm_ActivityIndicator
:
UIActivityIndicatorView
=
{
let
pmact
=
UIActivityIndicatorView
()
pmact
.
style
=
.
medium
pmact
.
startAnimating
()
content
.
addSubview
(
pmact
)
pmact
.
color
=
.
black
pmact
.
transform
=
CGAffineTransformMakeScale
(
1.3
,
1.3
)
return
pmact
}()
private
lazy
var
content
:
UIView
=
{
let
content
=
UIView
()
content
.
backgroundColor
=
.
clear
content
.
layer
.
cornerRadius
=
14
;
view
.
addSubview
(
content
)
return
content
}()
private
lazy
var
massage
:
UILabel
=
{
let
msg
=
UILabel
()
msg
.
textAlignment
=
.
center
msg
.
numberOfLines
=
0
msg
.
font
=
UIFont
.
systemFont
(
ofSize
:
15
)
msg
.
textColor
=
.
colorWithHex
(
hexStr
:
"#333333"
)
content
.
addSubview
(
msg
)
return
msg
}()
}
PhoneManager/Class/Tool/Common/PMPageControl.swift
0 → 100644
View file @
ce62ba6f
//
// PMPageControl.swift
// PhoneManager
//
// Created by edy on 2025/4/8.
//
import
UIKit
class
PMPageControl
:
UIPageControl
{
private
let
activeWidth
:
CGFloat
=
16.0
private
let
inactiveWidth
:
CGFloat
=
8.0
private
let
dotSpacing
:
CGFloat
=
8.0
override
func
layoutSubviews
()
{
super
.
layoutSubviews
()
// for (index, dot) in subviews.enumerated() {
// let isCurrentPage = index == currentPage
// let targetWidth = isCurrentPage ? activeWidth : inactiveWidth
// let previousDotsWidth = CGFloat(index) * (inactiveWidth + dotSpacing)
// let adjustX = previousDotsWidth + (isCurrentPage ? 0 : activeWidth - inactiveWidth)
// dot.frame = CGRect(
// x: adjustX,
// y: dot.frame.origin.y,
// width: targetWidth,
// height: dot.frame.height
// )
// }
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment