CodeForge QQ客服 CodeForge 400电话 客服电话 4006316121
首页 » 源代码 » iPhone 组合框

iPhone 组合框

maninwest
发布于2015-02-11 16:58:36
源码作者
浏览次数:
下载次数:0
下载所需积分:1 
源码分类 Tags:
源码分类 所属分类:
MobileMobile Objective-CObjective-C

分享有礼! 》

  • 请点击右侧的分享按钮,把本代码分享到各社交媒体。
  • 通过您的分享链接访问Codeforge,每来2个新的IP,您将获得0.1 积分的奖励。
  • 通过您的分享链接,每成功注册一个用户,该用户在Codeforge上所获得的每1个积分,您都将获得0.2 积分的分成奖励。

代码介绍

翻译 maninwest@Codeforge 作者:Dor Alon@CodeProject
我正在进行一个项目,要求将有多个组合框的安卓应用移植到原生 iPhone 应用程序中,并要求保留移植应用的外观。但是 iOS 不包含组合框控件。我想出的办法是使用UITextField,它使用 UIPickerView 而不是键盘进行输入,类似于 Safari 的 HTML 选择字段的实现。
实现

我创建了一个UIViewController 子类,包含UITextField 和箭头图像,使其看上去像是一个组合框。
用户触按 UITextField 时,会调用以下操作:
- (IBAction)showPicker:(id)sender 
{    
    pickerView = [[UIPickerView alloc] init];
    pickerView.showsSelectionIndicator = YES;
    pickerView.dataSource = self;
    pickerView.delegate = self;


    UIToolbar* toolbar = [[UIToolbar alloc] init];
    toolbar.barStyle = UIBarStyleBlackTranslucent;
    [toolbar sizeToFit]; //to make the done button aligned to the right  UIBarButtonItem *flexibleSpaceLeft = [[UIBarButtonItem alloc]  
    initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
       
    UIBarButtonItem* doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self
                                   action:@selector(doneClicked:)];
                                                                  
    [toolbar setItems:[NSArray arrayWithObjects:flexibleSpaceLeft, doneButton, nil]]; //custom input view  textField.inputView = pickerView;
    textField.inputAccessoryView = toolbar;  
}


-(void)doneClicked:(id)sender
{
    [textField resignFirstResponder]; //hides the pickerView }

附加的源代码


iPhoneComboBox_src.zip 包含子类化的ControllerView,便于跟现有项目轻松集成。
iPhoneComboBox_demo.zip 包含演示项目的源代码,演示项目是使用cComboBox ControllerView 的应用。
使用代码
打开 Xcode 并创建一个 "单视图应用", 命名为ComboBoxTest.
确保勾选 "Use Automatic Reference Counting" 。
下载并解压缩 iPhoneComboBox_src.zip 到名为 ComboBox 的文件夹
拖动 ComboBox文件夹到Xcode 中的项目
确保勾选 "Copy items into destination groups's folder" 
确保勾选"Create groups for any added folders" 
编辑 ViewController.h: 添加#import "ComboBox.h", 声明ComboBox* combo1;
头文件应该如下:
#import  #import "ComboBox.h" @interface ViewController : UIViewController
{
    ComboBox* combo1;     
}
@end

编辑 ViewController.m, 添加以下代码到 viewDidLoad:
NSMutableArray* fruitsArray = [[NSMutableArray alloc] init];
[fruitsArray addObject:@"Apple"];
[fruitsArray addObject:@"Banana"];
[fruitsArray addObject:@"Orange"];
    
combo1 = [[ComboBox alloc] init];
[combo1 setComboData:fruitsArray]; //Assign the array to ComboBox [self.view addSubview:combo1.view];
combo1.view.frame = CGRectMake(110, 69, 120, 31); //ComboBox location and  //size (x,y,width,height)

构建并运行即可。

Sponsored links

源码文件列表

温馨提示: 点击源码文件名可预览文件内容哦 ^_^
...
名称 大小 修改日期
01.96 kB
.DS_Store6.00 kB2012-03-12 06:47
01.96 kB
01.96 kB
._.DS_Store244.00 B2012-03-12 06:47
01.96 kB
.DS_Store6.00 kB2012-03-12 06:48
01.96 kB
._.DS_Store244.00 B2012-03-12 06:48
AppDelegate.h330.00 B2011-12-17 09:13
._AppDelegate.h295.00 B2011-12-17 09:13
AppDelegate.m2.36 kB2011-12-17 09:13
._AppDelegate.m295.00 B2011-12-17 09:13
01.96 kB
.DS_Store6.00 kB2011-12-17 09:14
01.96 kB
._.DS_Store244.00 B2011-12-17 09:14
arrow.png1.34 kB2011-12-17 04:12
._arrow.png244.00 B2011-12-17 04:12
ComboBox.h472.00 B2012-03-12 06:45
._ComboBox.h171.00 B2012-03-12 06:45
ComboBox.m2.62 kB2012-03-12 07:27
._ComboBox.m171.00 B2012-03-12 07:27
ComboBox.xib9.35 kB2012-03-12 07:24
._ComboBox244.00 B2012-03-12 07:27
ComboBoxTest-Info.plist1.07 kB2011-12-17 04:15
._ComboBoxTest-Info.plist244.00 B2011-12-17 04:15
ComboBoxTest-Prefix.pch327.00 B2011-12-17 04:15
._ComboBoxTest-Prefix.pch295.00 B2011-12-17 04:15
01.96 kB
.DS_Store6.00 kB2011-12-17 09:14
01.96 kB
._.DS_Store244.00 B2011-12-17 09:14
InfoPlist.strings45.00 B2011-12-17 04:15
._InfoPlist.strings295.00 B2011-12-17 04:15
ViewController.xib13.91 kB2012-03-12 07:04
._en.lproj244.00 B2012-03-12 07:04
main.m302.00 B2011-12-17 09:13
._main.m295.00 B2011-12-17 09:13
ViewController.h349.00 B2012-03-12 07:10
._ViewController.h171.00 B2012-03-12 07:10
ViewController.m3.02 kB2011-12-17 09:11
._ViewController.m295.00 B2011-12-17 09:11
._ComboBoxTest244.00 B2012-03-12 07:10
01.96 kB
project.pbxproj12.93 kB2011-12-17 04:15
01.96 kB
._project.pbxproj244.00 B2011-12-17 04:15
01.96 kB
contents.xcworkspacedata157.00 B2011-12-17 04:15
01.96 kB
._contents.xcworkspacedata244.00 B2011-12-17 04:15
01.96 kB
01.96 kB
UserInterfaceState.xcuserstate17.13 kB2012-03-12 07:28
01.96 kB
._doralon.xcuserdatad244.00 B2012-03-12 07:28
._xcuserdata244.00 B2011-12-17 04:15
._project.xcworkspace244.00 B2011-12-17 04:15
01.96 kB
01.96 kB
01.96 kB
Breakpoints.xcbkptlist91.00 B2012-03-12 07:25
01.96 kB
ComboBoxTest.xcscheme3.04 kB2011-12-17 04:15
01.96 kB
01.96 kB
01.96 kB
._ComboBoxTest.xcscheme244.00 B2011-12-17 04:15
xcschememanagement.plist484.00 B2011-12-17 04:15
._xcschememanagement.plist244.00 B2011-12-17 04:15
._xcschemes244.00 B2011-12-17 04:15
._doralon.xcuserdatad244.00 B2012-03-12 07:08
._xcuserdata244.00 B2011-12-17 04:15
._ComboBoxTest244.00 B2012-03-12 06:44
程序员商城

资源评论

(提交有效评论获得积分)
评论内容不能少于15个字,不要超出160个字。
  • 1
  • 第1页
  • 共1页

iPhone 组合框 (45.58 kB)(7.41 kB)

需要 1 积分
您持有 积分

CodeForge积分(原CF币)全新升级,功能更强大,使用更便捷,不仅可以用来下载海量源代码马上还可兑换精美小礼品了 了解更多

您的积分不足,优惠套餐快速获取 30 积分

订单支付完成后,积分将自动加入到您的账号。以下是优惠期的人民币价格,优惠期过后将恢复美元价格。

更多付款方式:网银PayPal

上传代码,免费获取CodeForge积分

您本次下载所消耗的积分将转交上传作者。

同一源码,30天内重复下载,只扣除一次积分。

登录 CodeForge

还没有CodeForge账号? 立即注册
关注微博
联系客服

Switch to the English version?

Yes
CodeForge 英文版
No
CodeForge 中文版

完善个人资料,获价值¥30元积分奖励!

^_^"呃 ...

Sorry!这位大神很神秘,未开通博客呢,请浏览一下其他的吧
好的