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

时间:2017-11-27 07:45:31

标签: ios objective-c button nib

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

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

这是我想要实现的sudo代码

button.click {

show nib bottom of button;

}

1 个答案:

答案 0 :(得分:0)

您可以使用iOS开发将视图放在彼此之上。比方说,例如,你有2个具有完全相同帧的UIViews。这两个视图假设有一个x:0,y:0,width:100,height:100的框架,所以它们都是从屏幕左上角开始的正方形。 Nibs基本上是定制的UIViews,而按钮是UIView的子类。

如果你这样做:

[self.view bringSubviewToFront:button]; 

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

如果您想确保按钮位于视图顶部,您可以执行以下操作:

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

此方面也可以直接从故事板处理。

但这有点不必要。

现在,对于按下单击按钮的按钮(我假设你想在点击时显示笔尖,然后在松开手指时再次显示按钮),你可以做的是从你的手中添加2个IBAction插座故事板,或者您可以通过编程方式创建按钮操作,如on this link

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

let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers });
        return this.http.post(this.url, {param:param}, options)
                   .map(this.data) //your data format
                   .catch(this.handleErrorObservable);
    }