我想在不关闭显示屏的情况下拦截接近传感器.
我从文档中知道我有两个Bool变量:
proximityMonitoringEnabled
proximityState
Run Code Online (Sandbox Code Playgroud)
和这段代码
[UIDevice currentDevice].proximityMonitoringEnabled = YES;
Run Code Online (Sandbox Code Playgroud)
当接近传感器检测到某些东西时,它会关闭显示屏,就像在打电话时将手机放在耳边一样.
覆盖接近传感器时如何保持显示屏开启?
我有一个List对象,NavigationView如果我模糊它,视图就会改变偏移量,似乎它会在列表视图中强制 EdgesIgnoringSafeArea:
情况 1:如果我模糊它,视图就会改变偏移量。
情况2:如果我List在 in之前放置一些内容VStack,则偏移量是正确的(与对象的空间)
情况 3:我发现的解决方法是在模糊效果处添加偏移量 y:1
struct Test: View {
@State private var arr = [1,2,3,4]
var body: some View {
TabView {
NavigationView {
HStack {
VStack {
List {
ForEach (arr, id:\.self) { _ in
Image(systemName: "person")
.resizable()
.frame(width: 150, height: 150)
}
}
}
VStack {
List {
ForEach (arr, id:\.self) { _ in
Image(systemName: "person")
.resizable()
.frame(width: 150, height: 150)
}
}
.blur(radius: 3)
} …Run Code Online (Sandbox Code Playgroud) 我知道@AppStorage只能在视图内使用,但我更喜欢管理模型并利用@AppStorage.
例如,如果我想将购买的产品存储在 中In App Purchasing,我可以使用此解决方法还是最好避免这种情况?
typealias PurchasedProductIdentifiers = Set<String>
extension PurchasedProductIdentifiers: RawRepresentable {
public init?(rawValue: String) {
guard let data = rawValue.data(using: .utf8),
let result = try? JSONDecoder().decode(PurchasedProductIdentifiers.self, from: data)
else {
return nil
}
self = result
}
public var rawValue: String {
guard let data = try? JSONEncoder().encode(self),
let result = String(data: data, encoding: .utf8)
else {
return "[]"
}
return result
}
}
class MyModel: NSObject, ObservableObject {
@Published var purchasedPub: …Run Code Online (Sandbox Code Playgroud) 我有一个聊天示例,有 3 个文本,名称、文本和小时。我想将前两个文本向左对齐,另一个文本向右对齐。
var body: some View {
HStack {
if self.cloudPosition == .dx {Spacer(minLength: 20)}
VStack (alignment: .leading) {
Text("\(self.text.name)")
.font(.system(size: 15))
.foregroundColor(Self.getColor(index: self.text.colorIndex))
.padding(EdgeInsets(top: 3, leading: 15, bottom: 3, trailing: 10))
Text("\(self.text.text)")
.font(.system(size: 15))
.padding(EdgeInsets(top: 0, leading: 8, bottom: 0, trailing: 8))
HStack {
Spacer() //I remove this in example 3
Text("\(self.text.date, formatter: Self.timeFormat) ")
.font(.system(size: 9))
.foregroundColor(.gray)
.padding(3)
}
}
.background(self.cloudColor)
.cornerRadius(10)
.padding(10)
if self.cloudPosition == .sx {Spacer(minLength: 20)}
}
}
Run Code Online (Sandbox Code Playgroud)
枚举:
enum CloudPosition {
case dx,sx …Run Code Online (Sandbox Code Playgroud)