小编Chu*_*ZHB的帖子

设置 Text().frame(maxWidth: .infinity) 后如何保持 Text 作为前导对齐

这可能是一个简单的情况,但我找不到解决方案。

\n\n

这是我的代码,使用 GeometryReader 设置 SwiftUI 视图大小的相对布局,如图像。问题出现在最后一个VStack上,我希望文本的背景转到VStack的右端。因此,我将其设置为,Text("Haibo: asdasd").frame(maxWidth: .infinity)但之后我发现文本变为水平居中并且不遵循 VStack 对齐方式:.leading。

\n\n
import SwiftUI\n\nstruct ContentView: View {\n    var body: some View {\n\n        GeometryReader { geo in\n            HStack(alignment: .top, spacing: 12) {\n                Image("Alan shore").resizable().frame(width: geo.size.width / 6, height: geo.size.width / 6).cornerRadius(4)\n\n                VStack(alignment: .leading, spacing: 10) {\n\n                   // name\n                   Text("Haibo")\n                   // content\n                   Text("Think ThinkThink ThinkThink ThinkThink ThinkThink ThinkThink ThinkThink ThinkThink Think")\n                   // \xe4\xb9\x9d\xe5\xae\xab\xe6\xa0\xbc\n                   VStack(spacing: 6) {\n\n                       HStack(spacing: 6) {\n                           Image("Little girl").resizable().frame(width: geo.size.width / 4.7, height: geo.size.width / 4.7)\n                           Image("Little …
Run Code Online (Sandbox Code Playgroud)

layout ios swiftui geometryreader

6
推荐指数
2
解决办法
1337
查看次数

Xcode 12:面板中的环境覆盖设置未反映在模拟器上

我关注了一个关于 iOS 14 新东西的 YouTube 视频。现在我们可以通过面板设置环境覆盖。但是我发现像 Text Dynamic 类型这样的变化并没有反映在 iOS 模拟器上。找了一圈,很新,没找到相关资料。有没有人在这里遇到过同样的问题,如何解决?

有一个警告“2020-07-18 11:46:25.479202+0800 SwiftUITest[32945:888273] libMobileGestalt MobileGestaltCache.c:38: No persisted cache on this platform.” 在控制台中。不确定是否相关。

在此处输入图片说明

MacOS: 10.15.6 Beta (19G71a)

Xcode: 12.0 beta 2 (12A6163b)

import SwiftUI

struct ContentView: View {
    
    @State private var text = "Hello, world!"
    
    var body: some View {
        TextEditor(text: $text)
            .padding()
            .foregroundColor(.blue)
            .font(.custom("Georgia", size: 24, relativeTo: .largeTitle))
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

environment xcode12

6
推荐指数
0
解决办法
794
查看次数

Swift:错误:keyNotFound(CodingKeys(stringValue:“成人”,intValue:nil)

我确实在堆栈溢出中看到了很多类似的问题,但似乎没有人与我的情况相似。我是组合框架的新手,我花了整个下午才弄清楚出了什么问题,但仍然卡在这里......

\n\n

Xcode 给出了以下错误,我所做的是使用 TMDB 的 API 并将其解码到我的 Actor 模型中。并且在这条线上失败了let result = try self.decoder.decode(TMDBActorsResult.self, from: output.data)。你能给我一些提示这是怎么回事吗adult

\n\n
\n

错误:keyNotFound(CodingKeys(stringValue:“成人”,intValue:nil),Swift.DecodingError.Context(codingPath:[CodingKeys(stringValue:“结果”,intValue:nil),_JSONKey(stringValue:“索引0”,intValue: 0), CodingKeys(stringValue: "knownFor", intValue: nil), _JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "没有与密钥关联的值 CodingKeys(stringValue: \\"adult\\" , intValue: nil) (\\"adult\\").",underlyingError: nil))

\n
\n\n

我还检查了 url 是否正常工作,这是 TMDB API 的返回数据:

\n\n

在此输入图像描述

\n\n

在此输入图像描述

\n\n

/// 演员模型

\n\n
import SwiftUI\n\n\nstruct TMDBActorsResult: Codable {\n    let page: Int?\n    let results: [Actor]\n    let totalResults: Int?\n    let totalPages: Int?\n}\n\nstruct Actor: Codable {\n    let profilePath: String?\n    let …
Run Code Online (Sandbox Code Playgroud)

swift jsondecoder combine

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

URLSession 请求:请求代码=-1009“(null)”UserInfo={_NSURLErrorNWPathKey=unsatisfied(通过蜂窝接口拒绝)

测试在 iPhone 13 Pro 15.3.1 上进行,使用 Xcode 13.2.1。我已将问题范围缩小为以下两个测试。下面的测试代码只是发送一个简单的https请求。

我已允许 Wifi 和手机上的测试应用程序进行网络访问。我是一名付费开发人员。

下面两个测试在模拟器上都通过了,在iPhone上却失败了,说明我的iPhone这边有问题,找到一个帖子说国产品牌iPhone可能有这个问题,还在挖……orz

WiFi 和蜂窝网络均存在此错误。Wi-Fi 接口和蜂窝接口上的 URLSession 请求均被拒绝。

NSURLErrorNWPathKey=unsatisfied... 在此输入图像描述

在此输入图像描述

第一次测试:

Apple 文档 ( https://developer.apple.com/documentation/xctest/asynchronous_tests_and_expectations/testing_asynchronous_operations_with_expectations )中提供了测试代码。

func testDownloadWebData() {
    
    // Create an expectation for a background download task.
    let expectation = XCTestExpectation(description: "Download apple.com home page")
    
    // Create a URL for a web page to be downloaded.
    let url = URL(string: "https://apple.com")!
    
    // Create a background task to download the web page.
    let dataTask = URLSession.shared.dataTask(with: url) { (data, _, _) in …
Run Code Online (Sandbox Code Playgroud)

ios xctest swift urlsession

5
推荐指数
0
解决办法
664
查看次数