精华内容
下载资源
问答
  • iOS 下拉框

    2018-09-18 09:16:58
    iOS下拉框的简单封装,可以做基本的借鉴,希望对下载的同学有用
  • IOS下拉框

    2013-03-06 13:52:43
    下拉框
  • IOS下拉框实现

    2015-08-07 23:40:38
    IOS下拉框实现
  • swift-ios下拉框控件

    2019-08-15 02:48:12
    ios下拉框控件
  • html5 IOS下拉框样式

    2017-03-09 09:20:56
    html5 IOS下拉框样式html5
  • ios下拉框下拉列表

    2014-08-04 18:06:17
    ios下拉框 ,下拉列表下载。根据button lable tableview 合成所得
  • 自定义iOS下拉框

    2019-09-17 00:01:45
    放到前面,防止下拉框被别的控件遮住  [ self . superview bringSubviewToFront : self ];   tv . hidden = NO ;   _showList = YES ; // 显示下拉框   CGRect frame = tv . frame...


     

    #import <UIKit/UIKit.h>


    @protocol PushBankCardDelegate <NSObject>


    - (void)PushBankCardBindingView;

    - (void)showbankcardInfo:(NSInteger) index;

    @end



    @interface ComBox :UIView<UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate>

    {

        UITableView *tv;//下拉列表

       NSMutableArray *tableArray;//下拉列表数据

       UITextField *textField;//文本输入框

       CGFloat tabheight;//table下拉列表的高度

       CGFloat frameHeight;//frame的高度

    }

    @property (nonatomic,retain) id <PushBankCardDelegate> delegate;

    @property (nonatomic,retain)UITableView *tv;


    @property (nonatomic,retain)NSMutableArray *tableArray;


    @property (nonatomic,assignBOOL showList;


    @property (nonatomic,retain)UITextField *textField;

    标记

    //@property BOOL editeState;

    @end




    #import "ComBox.h"

    #import "BankCardBindingViewController.h"

    @implementation ComBox


    @synthesize tv,tableArray,textField;



    - (id)initWithFrame:(CGRect)frame

    {

       if (frame.size.height<200) {

           frameHeight = 200;

        }else{

            frameHeight = frame.size.height;

        }

        tabheight = frameHeight-30;

        

        frame.size.height =30.0f;

        

       self = [superinitWithFrame:frame];

       if(self){

           _showList = NO;//默认不显示下拉框

            

            tv = [[UITableViewalloc] initWithFrame:CGRectMake(0,30, frame.size.width +80 , 0)];

           tv.delegate =self;

           tv.dataSource =self;

            tv.backgroundColor = [UIColorclearColor];

            tv.separatorColor = [UIColorlightGrayColor];

           tv.hidden =YES;

            

    //        //初始化状态编辑

    //        self.editeState = YES;

            

            [selfaddSubview:tv];

            

            textField = [[UITextFieldalloc] initWithFrame:CGRectMake(0,0, frame.size.width +80, 30)];

            textField.font = [UIFontsystemFontOfSize:13.0f];

            //textField.userInteractionEnabled = NO;

            textField.borderStyle=UITextBorderStyleRoundedRect;//设置文本框的边框风格

            [textFieldaddTarget:selfaction:@selector(dropdown)forControlEvents:UIControlEventAllTouchEvents];

            [selfaddSubview:textField];

            

        }

        return self;

    }


    -(void)dropdown{

        [textField resignFirstResponder];

        if (_showList) {//如果下拉框已显示,什么都不做

           tv.hidden =YES;

           _showList = NO;

           return;

        }else {//如果下拉框尚未显示,则进行显示

            //dropdownList放到前面,防止下拉框被别的控件遮住

            [self.superviewbringSubviewToFront:self];

           tv.hidden =NO;

           _showList = YES;//显示下拉框

            

           CGRect frame = tv.frame;

            tabheight =tableArray.count*50;

            

            frameHeight =tabheight;

           CGRect sf = self.frame;

            sf.size.height =frameHeight+40;

            

            frame.size.height =tabheight;

            [UIViewbeginAnimations:@"ResizeForKeyBoard"context:nil];

            [UIViewsetAnimationCurve:UIViewAnimationCurveLinear];

           self.frame = sf;

           tv.frame = frame;

            [UIViewcommitAnimations];

        }

        //tabview分割线左对齐

       if ([self.tvrespondsToSelector:@selector(setSeparatorInset:)])

        {

            [self.tvsetSeparatorInset:UIEdgeInsetsZero];

        }

       if ([self.tvrespondsToSelector:@selector(setLayoutMargins:)])

        {

            [self.tvsetLayoutMargins:UIEdgeInsetsZero];

        }

        

        [tv reloadData];

    }


    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

    {

        return 1;

    }


    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

    {

        return [tableArraycount];

    }

    //tabview分割线左对齐

    - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

    {

       if ([cell respondsToSelector:@selector(setSeparatorInset:)])

        {

            [cell setSeparatorInset:UIEdgeInsetsZero];

        }

       if ([cell respondsToSelector:@selector(setLayoutMargins:)])

        {

            [cell setLayoutMargins:UIEdgeInsetsZero];

        }

    }



    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    {

       static NSString *CellIdentifier =@"Cell";

        

       UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

       if (cell == nil) {

            cell = [[UITableViewCellalloc] initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:CellIdentifier] ;

        }

        cell.textLabel.text = [tableArrayobjectAtIndex:[indexPath row]];

        cell.textLabel.font = [UIFontsystemFontOfSize:13.0f];

        cell.accessoryType  =UITableViewCellAccessoryNone;

        cell.selectionStyle =UITableViewCellSelectionStyleGray;

        

       return cell;

    }

    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

    {

        return 50;

    }

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    {

        NSInteger index = tableArray.count-1;

       if(index == [indexPath row])

        {

            [self.delegate PushBankCardBindingView];

        }

       else

        {

            textField.text = [tableArray objectAtIndex:[indexPath row]];

            [self.delegate showbankcardInfo:[indexPath row]];

        }

        _showList =NO;

        tv.hidden =YES;

        

        CGRect sf =self.frame;

        sf.size.height =30;

       self.frame = sf;

        CGRect frame = tv.frame;

        frame.size.height =0;

        tv.frame = frame;

    }


    - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

    {

        // Return YES for supported orientations

       return (interfaceOrientation == UIInterfaceOrientationPortrait);

    }



    设置单元格能否被移动

    //-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath

    //{

    //    

    //    if (self.editeState)

    //    {

    //        return YES;//编辑状态可移动

    //    }

    //    else

    //    {

    //        return NO;

    //    }

    //}

    移动的方法

    //-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath

    //{

    //    //移动的起始行

    //    NSInteger firstRow=[sourceIndexPath row];

    //    //移动的目标航

    //    NSInteger targetRow=[destinationIndexPath row];

    //    //开始移动

    //    [self.tableArray exchangeObjectAtIndex:firstRow withObjectAtIndex:targetRow];//数据的数组必须是可变的

    //}

    //

    设置单元格能否被编辑

    //-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

    //{

    //    NSLog(@"%ld , %lu ",(long)indexPath.row,(unsigned long)tableArray.count);

    //    if (!indexPath.row - tableArray.count == 0)

    //    {

    //        return YES;

    //        

    //    }

    //    return NO;

    //}

    //

    设置单元格被编辑的具体方法

    //-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

    //{

    //    //开始跟新

    //    [tableView beginUpdates];

    //    switch (editingStyle)

    //    {

            case UITableViewCellEditingStyleInsert://添加

                //往数组里添加

                [self.data insertObject:@"太阳" atIndex:indexPath.row];

                //添加到表格

                [tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];

                break;

    //        case UITableViewCellEditingStyleDelete://删除

    //            [self.tableArray removeObjectAtIndex:indexPath.row];

    //            //从表格删除

    //            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationLeft];

    //            break;

    //            

    //        default:

    //            break;

    //    }

    //    //结束跟新

    //    [tableView endUpdates];

    //}

    //#pragma mark - UITableViewDelegate

    //

    单元格编辑样式

    //-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath

    //{

    //    if (self.editeState)

    //    {

    //        return UITableViewCellEditingStyleDelete;

    //    }

    //    else

    //        return UITableViewCellEditingStyleInsert;

    //    

    //}



    @end



    转载于:https://my.oschina.net/u/2564478/blog/667554

    展开全文
  • iOS自己封装了一个简单的下拉列表控件(下拉框,可自动识别向上向下展开)
  • ios下拉框的的使用

    热门讨论 2012-12-01 08:48:22
    ios开发中如何使用简单的下拉框,完成列表选项。
  • //下拉列表动画加载 -(void)dropDownListAnimation { SchoolInHandAppDelegate *app = [[UIApplication sharedApplication]delegate]; //每行的高度 ... everyListHight = 30;... listHight = userCountInF...
    //下拉列表动画加载
    -(void)dropDownListAnimation
    {
        SchoolInHandAppDelegate *app = [[UIApplication sharedApplication]delegate];
        //每行的高度
        everyListHight = 30;
        listHight = userCountInFile*everyListHight;
        presstimes ++;
        if(_dropDownbackView ==nil)
        {
            _dropDownbackView = [[UIScrollView alloc]init];
            [_dropDownbackView autorelease];
        }
        _dropDownbackView.frame = CGRectMake(49, 180, 223, listHight);
        [self.view addSubview:_dropDownbackView];
        
        if(_dropDownListView==nil)
        {
            _dropDownListView = [[UIScrollView alloc]init];
            [_dropDownListView autorelease];
        }
        _dropDownListView.frame = CGRectMake(0, 0, 223, listHight);
        //_dropDownbackView.backgroundColor = [UIColor redColor];
        int i;
        int n = 0;
        //UIColor *color = [UIColor colorWithPatternImage:[UIImage imageNamed:@"listbg.png"]];
        for(i = 0; i<userCountInFile; i++)
        {
            UILabel *userTitleLabel = [[UILabel alloc]init];
            NSString *userNameStr = [[NSString alloc]init];
            userNameStr = [[app.moudle.userNameInFileList objectAtIndex:i]objectForKey:LOGIN_NAME];
            UIButton *usernamebutton = [UIButton buttonWithType:UIButtonTypeCustom];
            //[usernamebutton setTitle:userNameStr  forState:UIButtonTypeCustom];
            usernamebutton.frame = CGRectMake(0, 0+n, 223, everyListHight);
            [usernamebutton setImage:[UIImage imageNamed:@"listbg.png"]forState:UIControlStateNormal ];
            //usernamebutton.backgroundColor = color;
            
            userTitleLabel.frame = CGRectMake(8, 0, 215, everyListHight);
            userTitleLabel.text = userNameStr;
            userTitleLabel.textColor = [UIColor whiteColor];
            userTitleLabel.font = [UIFont systemFontOfSize:14];
            userTitleLabel.backgroundColor = [UIColor clearColor];
            
            //删除按键
            UIButton *delbutton = [UIButton buttonWithType:UIButtonTypeCustom];
            delbutton.frame = CGRectMake(183, 0, 40, everyListHight);
            [delbutton setImage:[UIImage imageNamed:@"del.png"]forState:UIControlStateNormal ];
            [delbutton setImage:[UIImage imageNamed:@"deled.png"]forState:UIControlStateSelected ];
            [delbutton addTarget:self action:@selector(deleteBtnPress:) forControlEvents:UIControlEventTouchUpInside];
           
            
            [usernamebutton addSubview:delbutton];
            [usernamebutton addSubview:userTitleLabel];
            [usernamebutton addTarget:self action:@selector(chooessUserName:) forControlEvents:UIControlEventTouchUpInside];
            [_dropDownListView addSubview:usernamebutton];
            n = n + everyListHight;
            usernamebutton.tag = i;
            delbutton.tag = i;
            //[userNameStr release];
        }
        //动画
        _dropDowAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.y"];
        if(presstimes%2 != 0)
        {
            _dropDowAnimation.fromValue = [NSNumber numberWithFloat:-listHight];
        }
        else 
        {
            _dropDownListView.frame = CGRectMake(0, -300, 223, listHight);
            
            _dropDowAnimation.fromValue = [NSNumber numberWithFloat:listHight];
        }
        _dropDowAnimation.toValue = [NSNumber numberWithFloat:0];
        //_dropDownListView.backgroundColor = [UIColor redColor];
        //x,y轴缩小到0.1,Z 轴不变
        //持续时间
        _dropDowAnimation.duration = 0.35;
        //重复次数
        _dropDowAnimation.repeatCount = 1;
        _dropDowAnimation.delegate = self;
        //设置_dropDownListView 的容量。
        [_dropDownListView setContentSize:CGSizeMake(185, listHight+20)];
        [_dropDownListView.layer addAnimation:_dropDowAnimation forKey:nil];
        [_dropDownbackView addSubview:_dropDownListView];
        
        //当第二次点的时候删除view。否则用户名就不能输入。
        if(presstimes%2 == 0)
        {
            [_dropDownbackView removeFromSuperview];
            _dropDownListView = nil;
            _dropDownbackView = nil;
        }
    }

    转载于:https://www.cnblogs.com/qingjoin/archive/2012/09/07/2674543.html

    展开全文
  • iOSSelect.jsH5中实现iOS的select下拉联动效果http://zhoushengfe.com/iosselect/website/index.html#user-content-demos引入文件:html:js: 实例化组件 例子var data =[{'id': '01-01', 'value': '1月'},{'id': '02...

    iOSSelect.js

    H5中实现iOS的select下拉联动效果

    http://zhoushengfe.com/iosselect/website/index.html#user-content-demos

    引入文件:

    html:

    js: 实例化组件 例子

    var data =[

    {'id': '01-01', 'value': '1月'},

    {'id': '02-01', 'value': '2月'},

    {'id': '03-01', 'value': '3月'},

    {'id': '04-01', 'value': '4月'},

    {'id': '05-01', 'value': '5月'},

    {'id': '06-01', 'value': '6月'},

    {'id': '07-01', 'value': '7月'},

    {'id': '08-01', 'value': '8月'},

    {'id': '09-01', 'value': '9月'},

    {'id': '10-01', 'value': '10月'},

    {'id': '11-01', 'value': '11月'},

    {'id': '12-01', 'value': '12月'},

    ]

    var showDom = document.querySelector('#monthselect');// 绑定一个触发元素

    showDom.addEventListener('click', function () {  // 添加监听事件

    var val = showDom.dataset['id'];             // 获取元素的data-id属性值

    var title = showDom.dataset['value'];        // 获取元素的data-value属性值

    // 实例化组件

    var example = new IosSelect(1,               // 第一个参数为级联层级,演示为1

    [data],                             // 演示数据

    {

    container: '.container',             // 容器class

    title: '',                    // 标题

    itemHeight: 50,                      // 每个元素的高度

    itemShowCount: 3,                    // 每一列显示元素个数,超出将隐藏

    oneLevelId: val,                     // 第一级默认值

    callback: function (selectOneObj) {  // 用户确认选择后的回调函数

    valDom.value = selectOneObj.id;

    showDom.innerHTML = selectOneObj.value;

    showDom.dataset['id'] = selectOneObj.id;

    showDom.dataset['value'] = selectOneObj.value;

    }

    });

    });

    展开全文
  • 今天又在IOS上看到列表的"阻尼"效果,就是列表拉到表头或者表尾时,还可以继续往上或往下拉,松开手后,整个列表会弹回去,来看效果图:整个实现重点在overScrollBy这个方法上,当你滚动listview时会触发此事件,它...

    今天又在IOS上看到列表的"阻尼"效果,就是列表拉到表头或者表尾时,还可以继续往上或往下拉,松开手后,整个列表会弹回去,来看效果图:

    c840d1630cfe24bed283fb5b571f97e9.png

    整个实现重点在overScrollBy这个方法上,当你滚动listview时会触发此事件,它会根据表头或表尾的坐标,及你所给的maxOverScrollY最大滚动纵坐标值来计算listview的表头或表尾的坐标。

    默认的ListView的overScrollBy方法中maxOverScrollY=0;所以你只能看到在表头或表尾有一条带颜色的线闪灯,据说,这是为了避免IOS的专利....

    下面来看实现方式:

    activity_main.xml:

    android:id="@+id/mylistview"

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

    MainActivity.java:

    public class MainActivity extends Activity {

    private BaseListView listview;

    @Override

    protected void onCreate(Bundle savedInstanceState)

    {

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.activity_main);

    listview = (BaseListView) findViewById(R.id.mylistview);

    ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_expandable_list_item_1, new String[] { "A", "A", "A", "A", "A", "A", "A", "A", "A"});

    listview.setAdapter(adapter);

    }

    }      这个是重点

    BaseListView.java

    public class BaseListView extends ListView

    {

    private static final int MAX_Y_OVERSCROLL_DISTANCE = 200;

    private Context mContext;

    private int mMaxYOverscrollDistance;

    public BaseListView(Context context)

    {

    super(context);

    mContext = context;

    initBounceListView();

    }

    public BaseListView(Context context, AttributeSet attrs)

    {

    super(context, attrs);

    mContext = context;

    initBounceListView();

    }

    public BaseListView(Context context, AttributeSet attrs, int defStyle)

    {

    super(context, attrs, defStyle);

    mContext = context;

    initBounceListView();

    }

    private void initBounceListView()

    {

    final DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();

    final float density = metrics.density;

    mMaxYOverscrollDistance = (int) (density * MAX_Y_OVERSCROLL_DISTANCE);

    }

    @Override

    protected boolean overScrollBy(int deltaX, int deltaY, int scrollX, int scrollY, int scrollRangeX, int scrollRangeY, int maxOverScrollX, int maxOverScrollY, boolean isTouchEvent)

    {

    return super.overScrollBy(deltaX, deltaY, scrollX, scrollY, scrollRangeX, scrollRangeY, maxOverScrollX, mMaxYOverscrollDistance, isTouchEvent);

    }

    }

    我的博客其它文章列表

    http://my.oschina.net/helu

    展开全文
  • ios标准下拉框

    2013-12-12 14:05:34
    ios标准下拉框,里面的字可以写在数组里面,有demo大家看看吧。
  • YHMenu_ios_下拉框_源码

    2021-10-02 13:06:59
    下拉选择框,支持一级,二级,三级选择,联动选择。
  • 一般来说,在ios端,对于select下拉框会默认出现黑色背景,input输入框上面出现阴影,导致用户体验感不是很好,总体原因是ios中对透明度渲染的效果不是很好。 会出现如下图所示现象: 解决方法 在select的css样式表...
  • ios-下拉框.zip

    2019-07-11 19:45:22
    如同QQ列表一样,点击按钮,会发生动画效果。
  • iOS实现的下拉框

    2015-04-14 11:33:53
    ios开发类似与城市选择的下拉框。效果还不错。
  • 使用方法: //---------用法----------- NSMutableArray *arrayData=[[NSMutableArray alloc] initWithObjects:@"shaosikang1",@"shaosikang2",@"shaosikang3",@"shaosikang4",@"shaosikang5",@"shaosikang6",@...
  • 文章地址:http://www.jianshu.com/p/f947ecbe8524
  • ios中的下拉框实现方法

    热门讨论 2012-10-08 15:50:58
    ios中的下拉框实现方法,有封装好的方法,使用方便。
  • 开发中我们可能会遇到回显后台传过来的数据,最近遇到的问题有:下拉框在pc端,安卓端能成功回显数据ios却不行,解决方法: $("#idType").find('option[value='+ id_type+']').attr('selected','selected') 换成 $...
  • 移动端浏览器对于select的展示样式是不一致的,ios下是类似原生的picker,安卓下各浏览器展示各异,我们需要一个picker组件来统一各端下各种浏览器的展示。 iosselect是在webapp下的一个picker组件,可以轻松实现...
  • 自定义类似网页中的下拉框组件,可设置comboBox背景,字体颜色,整体颜色,更改大小,获取选中项的值、设置弹出框的大小。
  • 先搭好架子,这几天填充。 转载于:https://www.cnblogs.com/yyt-hehe-yyt/p/5443123.html
  • 最近做的有关物流的APP中,货物数量的单位需要在给定的范围选取(比如:吨、方、件),但ios没有类似Android中的下拉框,我就自己想了办法自制了一个,效果还算满意;以后项目组的本科小师妹会帮我一起做ios端的开发...
  • 移动端浏览器对于select的展示样式是不一致的,ios下是类似原生的picker,安卓下各浏览器展示各异,我们需要一个picker组件来统一各端下各种浏览器的展示。 iosselect是在webapp下的一个picker组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,067
精华内容 1,226
关键字:

ios下拉框