单击按钮以在按钮下方显示 Nib

Posted

技术标签:

【中文标题】单击按钮以在按钮下方显示 Nib【英文标题】:Click Button to show Nib underneath button 【发布时间】:2017-11-27 07:45:31 【问题描述】:

我想使用 Objective-C 创建一个看起来像手风琴的功能。我有多个动态创建的按钮。当用户单击任何按钮时,我想在单击的按钮下方显示 nib 文件。请注意,一次只能单击一个按钮并在其下方显示笔尖。

我如何在 Objective-C 代码中实现这一点:

这是我想要实现的 sudo 代码

button.click 

show nib bottom of button;


【问题讨论】:

【参考方案1】:

您可以在 ios 开发中将视图相互叠加。例如,假设您有 2 个具有完全相同帧的 UIView。假设这两个视图有一个 x: 0, y: 0, width: 100, height: 100 的框架,所以它们都是从屏幕左上角开始的正方形。 Nib 基本上是自定义的 UIView,而按钮是 UIView 的子类。

如果你这样做:

[self.view addSubview:nib];
[self.view addSubview:button];

这将在笔尖顶部添加按钮,并且由于它们的框架相同,它们将直接相互重叠。

如果您想确保按钮位于视图顶部,您可以这样做:

[self.view bringSubviewToFront:button]; 

这方面也可以直接从情节提要处理。

但这有点不必要。

现在,对于向上和向下单击的按钮(我假设您希望在单击时显示笔尖,然后在松开手指时再次显示按钮),您可以做的是从您的故事板,或者您可以像 on this link 一样以编程方式创建按钮操作。

其中一个操作应指定为 UIControlEventTouchDown,另一个应指定为 UIControlEventTouchUpInside/Outside。在按钮按下/释放功能中,您只需从整体视图中隐藏按钮即可。这可以通过:

[button.setHidden:YES]; //On Click
[button.setHidden:NO];  //On Release

【讨论】:

我仍然在努力让它工作,因为我还是 iOS 新手 好的 :) 我尽量不要在答案中透露太多,以便您可以自己尝试做,让我知道它是怎么回事

以上是关于单击按钮以在按钮下方显示 Nib的主要内容,如果未能解决你的问题,请参考以下文章

Rails 4 - 如何获得 <li> 单击以在另一个 <div> 中显示部分视图?

播放和暂停按钮正在工作...但是如何重置按钮以在音频结束后显示播放符号?

单击卡片以在带有下一个和上一个按钮的弹出窗口上显示其各自的详细信息

单击按钮时如何显示颜色选择器?

如何添加一个按钮以在 javascript 中显示结果

.nib 文件中未显示按钮