gpt4 book ai didi

cocoa - 切换 XIB View - Cocoa Mac

转载 作者:行者123 更新时间:2023-12-03 16:50:22 26 4
gpt4 key购买 nike

我对编码还很陌生,想知道如何通过单击按钮切换 XIB View 。切换时是否还可以添加动画?

谢谢

凯文

最佳答案

这是完全可能的,但您需要做一些事情。我想您已经熟悉将 socket 连接到 XIB 中的对象,因此您需要做的第一件事是在 XIB 中创建自定义 View 并将它们连接到 appDelegate 中的 socket 。我建议将其中一个 View 拖到窗口中,将一个 View 拖到窗口外。这样,当窗口加载时,它已经将您的自定义 View 之一作为 subview 。这只会让入门变得更容易。

然后您将在 appDelegate 中编写一个 IBAction 并将其连接到您的按钮。假设其中一个自定义 View 已由窗口托管,则 IBAction 应向窗口的 contentView 动画制作器发送一条 ReplaceSubviewWith 消息,如下所示 [[window.contentView animator] ReplaceSubview:firstView with:secondView]; 其中,firstView 和 secondaryView 是您声明并连接到 XIB 中 View 的指针/导出。

这会向窗口内容 View 的动画代理发送一条消息,告诉它用新 subview 替换旧 subview 。将消息发送到 View 的动画代理(而不是 View 本身)的原因是过渡将使用默认的 CATransitionAnimation 进行。因为你希望它是动画的,对吗?

您不应该删除一个 subview 然后添加另一个 subview 的原因是因为以动画方式删除 subview 实际上非常棘手,并且需要实现委托(delegate)方法animationDidEnd。这是因为在已从 View 层次结构中删除的 View 上执行动画是没有意义的。我不知道为什么苹果没有改变这一点,但目前这将是 CoreAnimation 持久的怪癖之一。

请告诉我这是否有帮助。我很高兴澄清!欢迎来到 cocoa !

关于cocoa - 切换 XIB View - Cocoa Mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530608/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com