小编ahe*_*eze的帖子

我在 SwiftUI 中的文本字段上使用角半径和边框时遇到问题

我在 swiftUI 中有一个文本字段,为了使其更具吸引力,我想添加边框并具有圆角。但它似乎并没有像预期的那样工作(见图)。我错过了什么?

图片1

我尝试将 .cornerradius() 放在 .border() 之前,但它具有相同的效果。

TextField("Text input goes here", text: $addMins)
    .padding(.all, 5.0)
    .background(View)
    .frame(width: 300.0, height: 35.0)
    .border(Color.green, width: 2)
    .cornerRadius(14)
Run Code Online (Sandbox Code Playgroud)

border textfield cornerradius swift swiftui

39
推荐指数
4
解决办法
2万
查看次数

“Task”在调用内部异步函数时会阻塞主线程

我有一个ObservableObject类和一个 SwiftUI 视图。当点击按钮时,我会在其中创建Task并调用(异步函数)。populate我以为这会populate在后台线程上执行,但整个 UI 都冻结了。这是我的代码:

class ViewModel: ObservableObject {
    @Published var items = [String]()
    func populate() async {
        var items = [String]()
        for i in 0 ..< 4_000_000 { /// this usually takes a couple seconds
            items.append("\(i)")
        }
        self.items = items
    }
}

struct ContentView: View {
    @StateObject var model = ViewModel()
    @State var rotation = CGFloat(0)

    var body: some View {
        Button {
            Task {
                await model.populate()
            }
        } label: { …
Run Code Online (Sandbox Code Playgroud)

ios async-await swift swiftui swift-concurrency

38
推荐指数
4
解决办法
3万
查看次数

我应该为 UTTypeImage 导入什么库,它是 iOS 15 中 kUTTypeImage 的替代品?

在iOS 15之前,我使用 UIImagePickerController 来捕获图像和视频,并从 中获取了 mediaType [UIImagePickerController.InfoKey : Any],然后我使用了kUTTypeImage(在MobileCoreServices库中)来识别mediaType。

\n

然而,当谈到 iOS 15 时,Xcode 抱怨说,kUTTypeImage was deprecated in iOS 15.0. Use UTTypeImage instead.所以,我替换kUTTypeImageUTTypeImage,但 Xcode 不知道。

\n

尝试搜索一些信息,但没有得到任何线索。我想我应该导入正确的库,但它是什么?

\n

这是部分代码\xef\xbc\x9a

\n
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {\n        guard let mediaType = info[.mediaType] as? String else { return }\n        switch mediaType {\n        case String(kUTTypeImage):\n        // blabla\n        case String(kUTTypeMovie):\n        // blabla\n
Run Code Online (Sandbox Code Playgroud)\n

以下是一些屏幕截图:\n在此输入图像描述

\n

在此输入图像描述

\n

uiimagepickercontroller ios swift

24
推荐指数
1
解决办法
8384
查看次数

适用于 iOS 14.5 的 SwiftUI NavigationLink 不起作用

我在 Xcode 12.4 中有以下代码完美运行

ScrollView(.horizontal, showsIndicators: false) {
        
    LazyHGrid(rows: rows, spacing: 0) {
            
        HStack {
                        
            if (type == "Quiz") {
                        
                NavigationLink(destination: Quiz(id: quiz.id)) {
                                
                    VStack(alignment: .leading) {
                                    
                        Text("Quiz")
                            .font(.headline)
                            .foregroundColor(.white)
                            .padding(.top, 8)
                            .padding(.leading)
     
                    }
                    .background(Color.green)
                    .cornerRadius(12)
                    .shadow(color: .green, radius: 3, x: 0.0, y: 0.0)
                            
                }
                            
            } else {
                            
                NavigationLink(destination: Survey(id: survey.id)) {
                                
                    VStack(alignment: .leading) {
                                    
                        Text("Survey")
                            .font(.headline)
                            .foregroundColor(.white)
                            .padding(.top, 8)
                            .padding(.leading)
                                    
                    }
                    .background(Color.green)
                    .cornerRadius(12)
                    .shadow(color: .green, radius: 3, x: 0.0, y: 0.0)
                            
                }
                            
           } // End If
                    
           if (type == …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift swiftui

22
推荐指数
3
解决办法
4404
查看次数

SwiftUI - 同时动画视图转换和位置更改

我有一个黄色容器,里面有绿色的视图。我想移动容器,同时隐藏/显示内部绿色视图,并带有动画。目前,我正在使用.offset运动,以及if绿色视图过渡的声明。

问题是,虽然黄色容器移动,但绿色视图却没有。它只是在目标偏移处淡入和淡出。我希望它也沿着黄色容器移动。

这就是我目前得到的 这就是我要的
黄色容器左右移动,而绿色内部视图淡入和淡出。 绿色景观保持在右侧 黄色容器与绿色内部视图一起左右移动,绿色内部视图也会淡入和淡出。

这是我的代码:

struct ContentView: View {
    @State var showingSubview = false
    
    var body: some View {
        VStack {
            Button("Show Subview") {
                withAnimation(.easeInOut(duration: 2)) {
                    showingSubview.toggle()
                }
            }
            
            if showingSubview {
                Text("Subview")
                    .padding()
                    .background(Color.green)
            }
        }
        .padding()
        .background(Color.yellow)
        .offset(x: showingSubview ? 150 : 0, y: 0)
    }
}
Run Code Online (Sandbox Code Playgroud)

当绿色视图淡入和淡出时,如何使绿色视图与黄色容器一起移动?最好,我想继续使用iforswitch语句进行插入/删除。

ios swift swiftui swiftui-animation

22
推荐指数
2
解决办法
1万
查看次数

Xcode 12 - 项目导航器宽度被卡住/锁定,无法调整大小

项目导航器/左侧面板经常卡在固定宽度上。当我在名为 的单独文件中有扩展名时,这非常烦人MainViewController+<Extension name>,因为<Extension name>被截断了。

无法调整项目导航器的大小

PhotoSlide...什么???

按“隐藏或显示导航器”按钮也没有任何作用。

按左上角的展开按钮

退出 Xcode 并重新启动工作。但这需要时间,而且我失去了位置。有没有其他方法可以解决卡住的宽度问题?

xcode xcode12

21
推荐指数
2
解决办法
1092
查看次数

M1 Mac 上的 Pod 安装错误 - 使用共享首选项等本机代码的 Flutter 项目

我使用的是 MacBook Pro M1(在有人说这是因为 M1 或其他原因之前,我已经使用 Flutter 和 M1 编程了好几个星期,但之后我必须重置我的 M1)...我的大问题:

\n

每次运行 Pod Install 时出错,我都无法使用包含本机代码(例如shared_preferences或 )的包来启动我的项目。sqlite

\n

我在 Stack Overflow 上进行了搜索,但到目前为止没有任何帮助。如果我在没有包的情况下启动我的项目,那么没有问题,这是我的 Flutter 代码,非常简单:

\n
import 'dart:convert';\nimport 'package:flutter/material.dart';\nimport 'package:http/http.dart';\nimport 'package:shared_preferences/shared_preferences.dart';\n\nvoid main() {\n runApp(MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n  // This widget is the root of your application.\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      home: Home(),\n    );\n  }\n\n}\n\n\n`class Home extends StatelessWidget {\n  const Home({Key key}) : super(key: key);\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      body: …
Run Code Online (Sandbox Code Playgroud)

cocoapods visual-studio-code flutter flutter-packages apple-silicon

19
推荐指数
3
解决办法
3万
查看次数

SwiftUI - 如何仅在顶部显示阴影?

我试图给我的 VStack 提供阴影(仅在顶部),但是当我喜欢下面的阴影时,所有侧面都可以看到阴影,例如按钮、文本。但我试图只给容器提供边框。

.background(Color.white // any non-transparent background
               .shadow(color: Color.red, radius: 10, x: 0, y: 0)
             )
Run Code Online (Sandbox Code Playgroud)

我想要像下面这样的用户界面 在此输入图像描述

谢谢你的帮助

ios swift swiftui

19
推荐指数
2
解决办法
1万
查看次数

在旧版 iOS 模拟器上运行时,出现错误“无法启动 launchd_sim:无法绑定到会话,launchd_sim 可能已崩溃或退出响应”

我正在我的 M1 MacBook Pro 上运行 Xcode 12.2 (12B45b)。每当我尝试在较旧的 iOS 上运行模拟器时,例如:

\n

iPhone 11 Pro (13.0)

\n

它不起作用。Xcode 弹出此错误:

\n

无法启动 launchd_sim...

\n

当我按下 时Details,会弹出一个屏幕,显示:

\n
Details\n\nFailed to start launchd_sim: could not bind to session, launchd_sim may have crashed or quit responding\nDomain: com.apple.SimLaunchHostService.RequestError\nCode: 4\n--\n\n\nSystem Information\n\nmacOS Version 11.0 (Build 20A2411)\nXcode 12.2 (17535) (Build 12B45b)\nTimestamp: 2020-12-06T12:41:11-08:00\n
Run Code Online (Sandbox Code Playgroud)\n

但是,如果我运行较新的 iOS(例如 14.2),它可以完美运行。这是随 Xcode 预装的运行时。

\n

工作完美

\n

我查看了这个问题,iOS Simulator is Crashing on Startup,但答案几乎没有用。开发论坛上也有其他人遇到了同样的问题,但也没有人找到解决方案。

\n

编辑: Xcode 12.2 的发行说明中似乎提到了这一点:

\n
\n

iOS 13、tvOS 13 和 …

xcode ios ios-simulator apple-silicon

15
推荐指数
3
解决办法
1万
查看次数

UIKit UIViewController 将 Binding 传递给 SwiftUI View

我正在尝试在 UIKit 中提供 SwiftUI View。目前,我用一个Binding<Bool>来解雇/呈现DetailView。这是工作代码:

\n
struct ContentView: View {\n    @State var presentingModal = false\n    var body: some View {\n        Button("Present") { self.presentingModal = true } /// tap button to present detail sheet\n        .sheet(isPresented: $presentingModal) {\n            DetailView(isPresentedBinding: $presentingModal) /// pass in the binding\n        }\n    }\n}\n\nstruct DetailView: View {\n    var isPresented: Binding<Bool>? /// it's an optional so I do this instead of `@Binding var isPresented: Bool`\n    var body: some View {\n        Button("Done") { isPresented?.wrappedValue = false …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

14
推荐指数
1
解决办法
7104
查看次数