Xamarin.Ios 下拉菜单,多选,键盘弹出功能

来源:互联网 发布:js 私有函数 编辑:程序博客网 时间:2024/06/03 10:19

终于把这块弄完了,有兴趣的加我好友569653292

1、首先要键盘弹出一个下拉菜单,要知道ios没有下拉菜单这个说法,我们可以按照datePickerView的方式给它自定义,或者用tableview,这篇文章主要说一下用tableview的多选功能,先上图


好了,就是这个样子了,先定义一个tableview

UITableView utv = new UITableView (View.Bounds);
            utv.AutoresizingMask = UIViewAutoresizing.All;
            utv.Source=new myViewSource(list_leibie,ut_leibie);
            ut_leibie.InputView=utv;//这行就可以把它当作键盘弹出了


private class myViewSource:UITableViewSource
        {
            private List<string> dupLeibie;
            UITextField leibie_string = new UITextField ();
            public myViewSource(List<string>prems,UITextField ut){
                dupLeibie=prems;
                leibie_string=ut;//传递进来一个uitextfield,不然在函数里面不能更改界面的东西
            }
            public override nint RowsInSection (UITableView tableview, nint section)
            {
                return dupLeibie.Count;//返回行数
            }
            public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
            {
                UITableViewCell theCell = new UITableViewCell ();
                theCell.TextLabel.Text = dupLeibie [indexPath.Row];
                theCell.TextLabel.Font = UIFont.SystemFontOfSize (15);
                return theCell;//以上都是设置内容
            }
            string leibie = "";//用来设置文本框的内容
            public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
            {
                leibie = "";
                int rowIndex = indexPath.Row;
                UITableViewCell cellview = tableView.CellAt (indexPath);//当前行
                //判断当前行是否有标记
                if (cellview.Accessory == UITableViewCellAccessory.None) {
                    cellview.Accessory = UITableViewCellAccessory.Checkmark;
                } else {
                    cellview.Accessory = UITableViewCellAccessory.None;
                    tableView.DeselectRow (indexPath, true);
                }

//设置值,把选中的值加起来
                for (nint i = 0; i<5; i++)
                {
                    //NSIndexPath ina=tableView.cell

                    UITableViewCell cellview2 = tableView.VisibleCells[i];
                    //判断当前行是否有标记
                    if (cellview2.Accessory == UITableViewCellAccessory.Checkmark) {
                        if (leibie == "") {
                            leibie += cellview2.TextLabel.Text;
                        } else {
                            leibie += "," + cellview2.TextLabel.Text;
                        }
                    } 
                    if (leibie == "") {
                        leibie = "选择回收类别";
                    }
                }

                leibie_string.Text = String.Format(leibie);
            }
        }

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 文件目录损坏且无法读取怎么办 360木马查杀蓝屏怎么办 电脑上传的文件大小超过限制怎么办 文件最大不超过200m怎么办 抖音上传文件太大怎么办 下载ppt变成php文件怎么办 数据库bak文件损坏了怎么办? wps文档大小超出上传限制怎么办 手机百度用微盘下载不了文件怎么办 无法读取源文件或磁盘怎么办 文件中转站未安装上传控件怎么办 手机外国网址网速太差怎么办 istpng里显示不出图片怎么办 电脑上保持登录状态后怎么办 电脑打游戏闪退怎么办 实训老师教不好怎么办 善心汇损失的钱怎么办 去陌生的地方怕传销怎么办 被执行人不提供财产线索怎么办 宽带ip地址改了怎么办 移动宽带恢复出厂设置了怎么办 移动100兆网速慢怎么办 手机显示无法解析dns地址怎么办 台式电脑宽带连接不上怎么办 电信宽带账号登录密码忘记了怎么办 电信校园宽带超时了怎么办 宽带连接账号密码忘了怎么办 移动宽带路由器上不了网怎么办 移动宽带太卡了怎么办 电信adsl密码忘记了怎么办 移动宽带无法连接网络怎么办 移动宽带电视无信号怎么办 联通网线故障电话打不通怎么办 w10系统ip地址错误怎么办 移动流量太贵了怎么办 修改wifi密码ip地址怎么办 苹果6s接电话声音小怎么办 k歌录音器失败怎么办 想报警但不能说话怎么办 微粒贷要家人电话怎么办 4g网络信号差怎么办