如何为iPhone应用程序创建下拉列表框

5
我需要为iPhone应用程序添加下拉列表框。但是在库中找不到此对象。相反,有一个选择器视图,但我需要像下拉列表框这样的紧凑对象。请建议我如何添加或创建它。
提前致谢。

您也可以在以下链接中查看我的回答:https://dev59.com/m2vXa4cB1Zd3GeqPFRH-#18952583 - Gajendra K Chauhan
7个回答

4
没有这样的控件存在。你可以创建自己的控件,或者使用UIPicker。相比于使用Picker,创建自己的下拉控件需要进行大量工作,除非该特定控件是关键任务,否则我建议您想办法在现有设计中使用UIPicker。它不仅已经存在,而且用户熟悉并知道如何使用它。人机界面指南和标准UI元素确实有一定的意义。
在我需要在少量空间中使用类似Picker的控件的情况下,我使用了一个标签和一个按钮,该按钮会弹出另一个视图,其中包含Picker。您可以使用UINavigationController将其滑入,或者只需以模态方式呈现该视图。这是我大多数看到应用程序处理此问题的方式。
编辑:或者像@Lou Franco所说的那样使用UIActionSheet。这也是一个相当不错的选择。

嗨,丹,谢谢你的回复。我会尝试的。 - user448349

3

嗨,Lou,谢谢你的回复。我会尝试的。 - user448349

3

您可以制作自定义视图,如操作表或警报视图。我制作了一个类似于警报视图的自定义视图。它将显示在中心并阻止其后面的任何触摸。并提供一个按钮列表,这些按钮绘制在UIScrollView上,供用户选择所需选项之一。


2

这是另一种选择。 动作表基本上是一个下拉列表,如果您考虑一下的话。 如果您不断向UIActionSheet添加按钮,则最终会变成表格。所以只需使用UIButton(或某些事件)触发UIActionSheet。

尝试向UIActionSheet添加7个或更多按钮,并观察它变成列表。 这很方便。enter image description here


1

1) 创建一个textField并将其设置为禁用状态

2) 在文本框附近添加一个带箭头图像的按钮。

3) 创建一个视图,其中包含一个带有两个按钮“完成”、“取消”的工具栏。将此工具栏设置为视图,然后添加一个pickerview。将视图框架y位置设置为大于设备高度。

  1. 现在,在按钮操作中应用动画以从下到上显示视图(显示选择器视图)

  2. 在完成和取消按钮上再次应用动画以从上到下显示视图(隐藏视图)


1

紧凑的列表视图在iOS框架中可能不存在的原因是它们可能太难与粗手指一起使用。用户的手指会挡住多个选择,所以他们在选择时看不到任何选择,并且由于目标太小,他们会误触错误的选择。

操作表和选择器视图为即使是粗手指也提供了漂亮的大手指大小的目标,并提供了一种滚动更大的选择目标的方法,如果有超过几个选项,则这些目标将超出屏幕。

如果您可以创建一个自定义弹出视图来处理所有这些问题,那么您可以自己制作控件。


0
-(IBAction)dropButtonAction

{

    if(dropBtnFlag==TRUE){
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    [dropView setFrame:CGRectMake(121,122,179,122)];
    [UIView commitAnimations];
    dropFlag=FALSE; 
}
else {
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    [dropView setFrame:CGRectMake(121,122,179,0)];
    [UIView commitAnimations];
    dropFlag=TRUE;
}

}

这里的 "dropView" 是一个 UIViewController。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接