小编Moj*_*ini的帖子

SwiftUI ignoring import

I have just installed Xcode11 and when i try to create new fresh project with SwiftUI check mark selected it returns error.

Not able to build and run successfully.

File 'ContentView.swift' is part of module 'SwiftUI'; ignoring import

ContentView.swift

在此处输入图片说明

Use of undeclared type 'View'

SceneDelegate.swift

在此处输入图片说明

Use of unresolved identifier 'UIHostingController'

I have tried removing all derived data and also set command-line tools to 11

import xcode swift

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

如何在 SwiftUI 中使用属性字符串

如何在 SwiftUI 中使用 AttributedString。没有可用于在文本中使用 AttributedString 的 API

swift swiftui

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

动态高度UITableViewCell内的动态高度UICollectionView

我将水平UICollectionView固定到的所有边缘UITableViewCell。集合视图中的项目是动态调整大小的,我想使表视图的高度等于最高的集合视图单元格的高度。

视图的结构如下:

UITableView

UITableViewCell

UICollectionView

UICollectionViewCell

UICollectionViewCell

UICollectionViewCell

class TableViewCell: UITableViewCell {

    private lazy var collectionView: UICollectionView = {
        let collectionView = UICollectionView(frame: self.frame, collectionViewLayout: layout)
        return collectionView
    }()

    var layout: UICollectionViewFlowLayout = {
        let layout = UICollectionViewFlowLayout()
        layout.estimatedItemSize = CGSize(width: 350, height: 20)
        layout.scrollDirection = .horizontal
        return layout
    }()

    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)

        let nib = UINib(nibName: String(describing: CollectionViewCell.self), bundle: nil)
        collectionView.register(nib, forCellWithReuseIdentifier: CollectionViewCellModel.identifier)

        addSubview(collectionView)

        // (using SnapKit)
        collectionView.snp.makeConstraints …
Run Code Online (Sandbox Code Playgroud)

uitableview ios uicollectionview swift

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

如何使用脚本读取Xcode 11中的当前应用程序版本

Xcode 11之前,我使用了一个脚本来读取当前应用程序版本(适用于AppStore)并帮助我更改LaunchScreen,因为我们不能为此使用swift。

sourceFilePath="$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
versionNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INFOPLIST_FILE")
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")

sed -i .bak -e "/userLabel=\"APP_VERSION_LABEL\"/s/text=\"[^\"]*\"/text=\"v$versionNumber\"/" "$PROJECT_DIR/$PROJECT_NAME/App/Base.lproj/LaunchScreen.storyboard"
Run Code Online (Sandbox Code Playgroud)

但是在Xcode 11中,项目的构建设置中有一个新的部分称为Versioning

在此处输入图片说明

CFBundleShortVersionString自动更改为$(MARKETING_VERSION)。Xcode会自动处理该问题,我不想手动将其更改为静态数字,而是让Xcode进行处理。

11

因此,问题是如何MARKETING_VERSION使用运行脚本访问此新文件并将其设置为launchScreen标签?

xcode sh build-settings ios xcode11

17
推荐指数
4
解决办法
3373
查看次数

应用商店应用上载失败,并显示错误ITMS-90534和警告ITMS-90703

我正在尝试将应用上传到应用商店。但是得到如下错误:

App Store连接操作错误ERROR ITMS-90534:“无效的工具链。您的应用是使用不受支持的Xcode或SDK版本构建的。如果您打算将此构建提交到App Store,请确保您使用的是GM版本的Xcode 10.1。以及适用于iOS 12.1和watchOS 5.1的SDK,Xcode 7.1和适用于tvOS 9的SDK或适用于macOS 10.9或更高版本的Xcode 6和SDK。如果您使用的是Xcode Beta版来测试您的应用,请确保使用最新的受支持版本。有关受支持的Beta版本的更多信息,请查看App Store Connect新增功能页面(https://developer.apple.com/app-store-connect/whats-new/)。”

App Store连接操作警告警告ITMS-90703:“ Xcode Build已弃用。由于已解决的应用程序存档问题,我们已于2019年11月5日弃用Xcode 11.2。下载Xcode 11.2.1或更高版本,重建您的应用程序并重新提交。”

警告ITMS-90703指出已弃用Xcode 11.2。下载11.2.1或更高版本,但是Apple尚未在Xcode 11.2之后发布更高版本。

请告知如何解决此错误。

在此处输入图片说明

xcode app-store ios xcode11 xcode11.2

17
推荐指数
1
解决办法
2699
查看次数

SwiftUI - 用不同的动作响应点击和双击

我需要用不同的动作响应单击和双击,但在 SwiftUI 中,双击手势被解释为两次单击。

在 swift 中,您可以使用失败手势,但不知道如何在 SwiftUI 中执行此操作。

例子:

.onTapGesture(count: 1) {
     print("Single Tap!")
}
.onTapGesture(count: 2) {
     print("Double Tap!")
}
Run Code Online (Sandbox Code Playgroud)

TIA。

swiftui

15
推荐指数
2
解决办法
2039
查看次数

如何检测 SwiftUI 和 UIKit 中的动态岛大小和变化

如何检测iPhone 14 pro动感岛的大小和变化?

由于安全区域在圆形屏幕和顶部或底部插图内提供了一个安全矩形,但与矩形内的对象无关。

我们所知道的关于安全区的一切:

在此输入图像描述

xcode uikit swift swiftui dynamic-island

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

userInteractionEnabled = YES时如何将触摸事件传递给superview?

我有以下设置.

+- XXXCustomControl : UIControl -------+
| A                                    |
|   +- ContentView -------------------+|
|   |                                 ||
|   |  B                              ||
|   |                                 ||
|   +---------------------------------+|
+--------------------------------------+ 
Run Code Online (Sandbox Code Playgroud)

一个XXXCustomControl,它是UIControl的子类.它包含一个名为contentView的子视图,其类型为UIView,其大小小于Control的区域.该视图具有.userInteractionEnabled = YES;

我需要将该属性设置为YES,因为水平滚动视图会偶尔放入其中,并且它们需要可滚动.如果超级视图(在我们的案例中,内容视图不允许用户交互,则会继承子视图.)但同时,当XXXCustomControl在其内容视图中不包含滚动视图时,不仅需要在区域A中而且还包含滚动视图.在B区

所以我在这里有一个"利益冲突"因为我要么

1)将内容视图设置为userInteractionEnabled = NO,然后我可以在A和B中的内容视图区域中点击空控件,但是我将放在那里的滚动视图将不可滚动.

2)将内容视图设置为userInteractionEnabled = YES但是,如果Control为空,我只能点击区域A来触发触摸事件.

我想出的一个想法是我默认将属性设置为NO,当我填充contentView时,我将其设置为yes.当我清除contentView时,我将属性设置为no.基本上我希望它一直设置为yes,当它为空时,强制contentView将touchUpInside事件传递给它的superview.

这可能吗?

cocoa-touch objective-c ios swift

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

如何在SwiftUI中以横向模式预览设备?

如何在SwiftUI中以横向模式预览设备?

我只有一个简单的预览,像这样:

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

xcode ios swift swiftui xcode11

14
推荐指数
2
解决办法
1879
查看次数

如何使用SwiftUI具有动态视图列表

我可以做一个静态列表

List {
   View1()
   View2()
}
Run Code Online (Sandbox Code Playgroud)

但是,如何从数组中动态生成元素列表?我尝试了以下操作,但出现错误:包含控制流语句的闭包不能与函数生成器“ ViewBuilder”一起使用

    let elements: [Any] = [View1.self, View2.self]

    List {
       ForEach(0..<elements.count) { index in
          if let _ = elements[index] as? View1 {
             View1()
          } else {
             View2()
          }
    }
}
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?我要完成的工作是一个列表,其中包含不是静态输入的动态元素集。

ios swift swiftui xcode11

13
推荐指数
4
解决办法
3805
查看次数