如何让披露按钮与 BKSplitView 一起玩得很好

Posted

技术标签:

【中文标题】如何让披露按钮与 BKSplitView 一起玩得很好【英文标题】:How to Get a Disclosure Button to Play Nicely With BKSplitView 【发布时间】:2011-01-21 06:00:28 【问题描述】:

我在一个使用BKToolkit 的简单应用程序中设置了一个披露按钮。我已将带有Push On Push OffDisclosure 按钮连接到SplitView 中的toggleCollapse: 操作。该按钮在折叠并正确显示窗格的方面起作用。它不能正常工作以保持自己的状态与面板外观一致。

按钮以向上箭头开头,表示面板已打开。以下是事件的顺序:

    我按下按钮关闭面板。披露箭头现在朝下。 我按下按钮以显示面板。披露箭头仍朝下。 对按钮的任何后续按下都不会改变。箭头仍然朝下。

它第一次动画正确,那么后续按下不改变按钮的视图状态怎么办?

这是错误的状态:

【问题讨论】:

【参考方案1】:

这不是控件的正常行为方式。我正想问你是如何设置它的状态的,但是看起来 BKToolkit 中的拆分视图控件记录了第一个发送者向它发送切换消息并在此后管理该发送者的状态。

这可能是一个问题,例如,如果您有一个菜单项也调用此切换行为并且一直使用它来测试切换。在这种情况下,您的按钮状态不会更新。

我没有看到一个简单的解决方案,因为这种行为在 BKToolkit 拆分视图的代码中是硬连接的。也许您的控件应该在您的应用控制器之一中调用您的自己的切换方法,直接设置折叠状态(因此一切都同意状态)并自己管理所有 UI 的状态。

【讨论】:

以上是关于如何让披露按钮与 BKSplitView 一起玩得很好的主要内容,如果未能解决你的问题,请参考以下文章

第二部分:如何让 Ruby AES-256-CBC 和 PHP MCRYPT_RIJNDAEL_128 一起玩得很好

让 django-pipeline 和 bower 一起玩得很好

无法让披露按钮/segue 工作

如何让 Xcode 和 Javascript 玩得很好?

如何让后退按钮与 AngularJS ui-router 状态机一起使用?

如何根据按下的按钮取消隐藏标记的详细信息披露按钮