小编Fay*_*ouz的帖子

如何从 SwiftUI 调用 UIViewController

我有一个 SwiftUI TabView,第二个选项卡项需要显示 UIViewController。如何将 UIViewController 嵌入到第二个选项卡中?

class MyUIVC: UIViewController {.....}
Run Code Online (Sandbox Code Playgroud)

以下是我想要的一些伪代码:

struct myTabView: View {
@State var selectedTab: Int = 0
var body: some View {
    mySwiftUIView
      .tabItem { Text("First Tab") }
      .tag(0)

    MyUIVC //This is what I want to do with my UIViewController
      .tabItem { Text("Second Tab") }
      .tag(1)
 }
 }
Run Code Online (Sandbox Code Playgroud)

uikit swift swiftui

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

SKAction未在SKSpriteNode上运行

SKActionSKShapeNode不工作,是没有得到执行的代码,并且节点是不动的,即使控制台登录"蛇正朝着".是因为节点是SKScene的属性,并且操作是较低范围函数的一部分?

class LevelScene: SKScene, SnakeShower {

    var snake: Snake {
        let theSnake = Snake(inWorld: self.size)
        return theSnake
    }

    override func didMove(to view: SKView) {
        self.backgroundColor = .green
        snake.delegate = self
    }

    var myNode: SKShapeNode {
        let node = SKShapeNode(rectOf: snake.componentSize)
        node.position = snake.head
        node.fillColor = .red
        return node
    }

    func presentSnake() { // function called by the snake in the delegate (self)
        self.addChild(myNode)
        startMoving()
    }

    func startMoving() {
        print("snake is moving")
        myNode.run(SKAction.repeatForever(SKAction.sequence([
            SKAction.move(by: self.snake.direction.getVector(), duration: 0.2), …
Run Code Online (Sandbox Code Playgroud)

ios sprite-kit swift

3
推荐指数
2
解决办法
765
查看次数

使用swift字典会返回其所有值吗?

我有swift字典myD,它有类型的枚举myEnum作为键,并()作为值.当我尝试其中一个键的功能时,所有函数都被调用.请帮忙.这是下面的代码:

class myScene: SKScene {
    enum myEnum {
        case one
        case two
    }

    func foo1() { print(1) }
    func foo2() { print(2) }

    var myD: [myEnum : ()] {
        return [
            .one : foo1(),
            .two : foo2()
        ]
    }

    func runFuncForCase(_ ca: myEnum) {
            myD[ca]
    }

    override func didMove(to view: SKView) {
        runFuncForCase(.one) //HERE!!!!!
    }
Run Code Online (Sandbox Code Playgroud)

}

当我运行应用程序时,我放入.one或执行.tworunFuncForCase(_:)功能,consle总是打印"1"和"2",这意味着两个功能都运行.

dictionary swift

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

UIBezierPath围绕UIView中心旋转

我创建一个自定义的UIView,其中我实现它draw(rect:)画一个圆圈用UIBezierPath大宽度,即借鉴顶部的方法(如图片所示,不考虑颜色或大小).然后我尝试创建方形的旋转副本,以匹配"设置"图标(图片2,仅考虑外环).为了做到这一点,我需要使用a来旋转方块,CGAffineTransform(rotationAngle:)但问题是这个旋转的中心是框架的原点,而不是圆的中心.如何在视图中的某个点周围创建旋转?

图片1

图片2

cgaffinetransform ios uibezierpath swift

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