zoukankan      html  css  js  c++  java
  • 【代码笔记】iOS-自定义选择框(高底强弱)

    一,效果图

    二,代码。

    ViewController.h

    复制代码
    #import <UIKit/UIKit.h>
    
    @interface ViewController : UIViewController
    <UIPickerViewDataSource,UIPickerViewDelegate>
    
    
    @end
    复制代码

     

    ViewController.m

    复制代码
    #import "ViewController.h"
    #define Color(r, g, b,d) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:d]
    #define  W [UIScreen mainScreen].bounds.size.width
    #define  H [UIScreen mainScreen].bounds.size.height
    
    @interface ViewController ()
    {
        NSMutableArray *arrayData;
        UIView *chooseView;
    }
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        
        //初始化选择界面
        [self addChooseView];
    }
    #pragma -mark -functions
    //初始化选择页面
    -(void)addChooseView
    {
        //背景框
        chooseView = [[UIView alloc]initWithFrame:CGRectMake(0,H- H*0.45, W, H*0.45)];
        chooseView.backgroundColor = Color(230, 230, 230, 1);
        [self.view addSubview:chooseView];
        
        //完成按钮上面的线
        UIView *line3 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, W, 1)];
        line3.backgroundColor = Color(202, 202, 202, 1);
        [chooseView addSubview:line3];
        
        //完成按钮下面的线
        UIView *line4 = [[UIView alloc]initWithFrame:CGRectMake(0, 40, W, 1)];
        line4.backgroundColor = Color(202, 202, 202, 1);
        [chooseView addSubview:line4];
        
        //完成按钮
        UIButton *finishedBtn = [UIButton buttonWithType:UIButtonTypeCustom];
        finishedBtn.frame = CGRectMake(W-50, 5, 50, 30);
        [finishedBtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
        [finishedBtn setTitle:@"完成" forState:UIControlStateNormal];
        [finishedBtn addTarget:self action:@selector(doClickFinishButton) forControlEvents:UIControlEventTouchUpInside];
        [chooseView addSubview:finishedBtn];
        
        UIPickerView *choosePicker = [[UIPickerView  alloc]initWithFrame:CGRectMake(0, 40, W, chooseView.bounds.size.height-40)];
        choosePicker.delegate = self;
        choosePicker.dataSource = self;
        [chooseView addSubview:choosePicker];
        
        arrayData=[[NSMutableArray alloc]initWithObjects:@"",@"",@"",@"", nil];
    
    }
    #pragma -mark -doClickActions
    -(void)doClickFinishButton
    {
        chooseView.hidden=YES;
        NSLog(@"点击完成按钮");
    }
    #pragma -mark -UIPickerViewDelegate
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
    {
        return 1;
    }
    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
    {
        return arrayData.count;
    }
    
    
    - (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
    {
        return [arrayData objectAtIndex:row];
    }
    
    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
    {
        NSString *chooseStr = [NSString stringWithFormat:@"%ld", (long)row];
        NSLog(@"---chooseStr--%@",chooseStr);
    }
    
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    复制代码
  • 相关阅读:
    将十六进制的颜色字符串转为UIColor
    NSXMLParser读取XML文件并将数据显示到TableView上
    TouchJSON的简单使用
    NSJSONSerialization的简单用法
    Android 开发之修改 app 的字体大小(老人模式)
    android sqlite3:数据库操作
    设计模式-观察者模式(Observer Pattern)
    Android 7.0 介绍和适配问题
    Appium的安装和使用
    Android:使用 DownloadManager 进行版本更新,出现 No Activity found to handle Intent 及解决办法
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/7209484.html
Copyright © 2011-2022 走看看