我想使用objective-C创建一个看起来像手风琴的功能。我有多个动态创建的按钮。当用户单击任何按钮时,我想在单击的按钮下显示nib文件。请注意,一次只能单击一个按钮并在其下方显示笔尖。
我如何在Objective-C代码中实现这一目标:
这是我想要实现的sudo代码
button.click {
show nib bottom of button;
}
答案 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);
}