zoukankan      html  css  js  c++  java
  • 仿美团下拉菜单DropDownMenu

    github 下载demo:https://github.com/MartinLi841538513/MartinDemos (一切以demo为准)

    1,下载好dropDownList库,拖到自己项目中。

    2,在.h文件中引入

    #import <UIKit/UIKit.h>
    #import "DropDownListView.h"
    #import "DropDownChooseProtocol.h"
    
    @interface DropDownDemoViewController : UIViewController<DropDownChooseDelegate,DropDownChooseDataSource>
    @property (weak, nonatomic) IBOutlet DropDownListView *dropDownView;
    @property (weak, nonatomic) IBOutlet NSLayoutConstraint *dropDownViewHeight;
    @property(nonatomic,strong)NSArray *chooseArray;
    @end

    这里的dropDownView和dropDownViewHeight对应xib文件中得view和height,我都用箭头给你画好了。

    chooseArray是数据源,在.m文件中会赋值。

    3,在.m文件中赋值,以及设置dropDownView。这里注意,我是事先改过dropdownlist源代码的,我觉得我这样设计更合理,且更方便。而且可以结合autolayout使用,很爽。

    #import "DropDownDemoViewController.h"
    
    @interface DropDownDemoViewController ()
    
    @end
    
    @implementation DropDownDemoViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view from its nib.
        self.chooseArray = [NSMutableArray arrayWithArray:@[
                                                       @[@"童明城",@"童赟",@"童林杰",@"老萧狗"],
                                                       @[@"郏童熙",@"胥童嘉",@"郑嘉琦"]
                                                       ]];
        self.dropDownView.dropDownDataSource = self;
        self.dropDownView.dropDownDelegate = self;
        self.dropDownView.height = self.dropDownViewHeight.constant;
        [self.dropDownView setView];
        self.dropDownView.mSuperView = self.view;
    }
    
    
    #pragma mark -- dropDownListDelegate
    -(void) chooseAtSection:(NSInteger)section index:(NSInteger)index
    {
        NSLog(@"童大爷选了section:%d ,index:%d",section,index);
    }
    
    #pragma mark -- dropdownList DataSource
    -(NSInteger)numberOfSections
    {
        return [self.chooseArray count];
    }
    -(NSInteger)numberOfRowsInSection:(NSInteger)section
    {
        NSArray *arry =self.chooseArray[section];
        return [arry count];
    }
    -(NSString *)titleInSection:(NSInteger)section index:(NSInteger) index
    {
        return self.chooseArray[section][index];
    }
    -(NSInteger)defaultShowSection:(NSInteger)section
    {
        return 0;
    }
    @end

    这里是另外一个,有三级目录,效果更好,更新于2015年3月1日。

    http://code.cocoachina.com/detail/284158/%E7%B1%BB%E4%BC%BC%E7%BE%8E%E5%9B%A2%E7%9A%84%E4%B8%8B%E6%8B%89%E8%8F%9C%E5%8D%95/

  • 相关阅读:
    【原】从/dev/null重新打开标准输出
    Go 接口转换的一个例子
    关于软件编译安装的出错处理
    【原】GO 语言常见错误
    HP平台由于变量声明冲突导致程序退出时的core
    动态链接库加载出错:cannot restore segment prot after reloc: Permission denied
    Windows VC++常见问题汇总
    .net:System.Web.Mail vs System.Net.Mail应该用哪个
    网络管理的功能
    Hello World! — 用 Groovy 编写的 Java 程序
  • 原文地址:https://www.cnblogs.com/MartinLi841538513/p/4165938.html
Copyright © 2011-2022 走看看