欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS自定义选择框代码分享

程序员文章站 2024-02-14 16:40:10
本文实例为大家分享了ios自定义选择框的具体代码,供大家参考,具体内容如下 效果图: 工程图: 代码: rootviewcontroller.h...

本文实例为大家分享了ios自定义选择框的具体代码,供大家参考,具体内容如下

效果图:

iOS自定义选择框代码分享

工程图:

iOS自定义选择框代码分享

代码:

rootviewcontroller.h

#import <uikit/uikit.h>
#import "cycustommultiselectpickerview.h"

 
@interface rootviewcontroller : uiviewcontroller
<cycustommultiselectpickerviewdelegate>
{
 cycustommultiselectpickerview *multipickerview;
 uilabel *picklabel;
}

@end

rootviewcontroller.m

#import "rootviewcontroller.h"

@interface rootviewcontroller ()

@end

@implementation rootviewcontroller

- (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil
{
 self = [super initwithnibname:nibnameornil bundle:nibbundleornil];
 if (self) {
  // custom initialization
 }
 return self;
}

- (void)viewdidload
{
 [super viewdidload];
 // do any additional setup after loading the view.
 
 
 self.title=@"alpickerview";
 
 picklabel=[[uilabel alloc]initwithframe:cgrectmake(10, 100, 100, 50)];
 picklabel.backgroundcolor=[uicolor orangecolor];
 picklabel.textalignment=nstextalignmentcenter;
 [self.view addsubview:picklabel];
}
//随意点击任意处,弹出选择框
-(void)touchesbegan:(nsset *)touches withevent:(uievent *)event
{
 [self initpickerview];
}
-(void)initpickerview
{
 for (uiview *view in self.view.subviews) {
  if ([view iskindofclass:[cycustommultiselectpickerview class]]) {
   [view removefromsuperview];
  }
 }
 
 multipickerview = [[cycustommultiselectpickerview alloc] initwithframe:cgrectmake(0,[uiscreen mainscreen].bounds.size.height - 260-20, 320, 260+44)];
 multipickerview.backgroundcolor = [uicolor clearcolor];
 multipickerview.entriesarray = [nsmutablearray arraywithobjects:@"one",@"two",@"three",@"four",@"five",@"six",@"seven", nil];
 multipickerview.entriesselectedarray = [nsmutablearray arraywithobject:@"one"];
 multipickerview.multipickerdelegate = self;
 
 [self.view addsubview:multipickerview];
 [multipickerview pickershow];

}
#pragma -mark -picker delegate
//点击确定要执行的操作
-(void)returnchoosedpickerstring:(nsmutablearray *)selectedentriesarr
{
 nslog(@"returnchoosedpickerstring");
 
 nsmutablearray* newarray = [nsmutablearray array];
 
 for (nsstring* str in selectedentriesarr) {
  
  [newarray addobject:str];
 }
 nsstring *endstr = [newarray componentsjoinedbystring:@","];
 
 picklabel.text=endstr;
 
}

- (void)didreceivememorywarning
{
 [super didreceivememorywarning];
 // dispose of any resources that can be recreated.
}


@end

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。