• 【代码笔记】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
    复制代码
  • 相关阅读:
    基于jeesit下的工作流开发步骤
    SQL Server DBA SQL
    SQL Server 全文索引的硬伤
    SQL Server全文搜索
    数据库SQL优化大总结之 百万级数据库优化方案2
    百倍性能的PL/SQL优化案例(r11笔记第13天)
    SQL优化 · 经典案例 · 索引篇
    数据库SQL优化大总结之 百万级数据库优化方案
    pytest文档23-使用多个fixture和fixture直接互相调用
    pytest文档22-fixture详细介绍-作为参数传入,error和failed区别
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/6558208.html
Copyright © 2020-2023  润新知