hello,iOS小伙伴们,上次研究了tableView,这次是UICollectionView,其实和tableVIew 一样的,只是方法不一样啦。我为大家总结了一下,虽然网上都能早到,但是都是零零闪闪的;几行代码搞定UICollectionView 单选和多选:
1.创建UICollectionView,不用多说了,但是有一个属性很重要 :_collection.allowsMultipleSelection = YES;
这是单选和多选的关键属性。 YES:是多选。NO或者不写:是单选。
2.在自定义cell里的方法中判断选中是哪一个图标就OK了。
-(void)setSelected:(BOOL)selected{
[supersetSelected:selected];
if(selected) {
self.choseBtn.image= [UIImageimageNamed:@"xuan"];
}else{
self.choseBtn.image= [UIImageimageNamed:@"no_xuan"];
}
}
3.当你多选取消货选中的时候在方法中移除/添加对应数组的元素就行了。
-(void)collectionView:(UICollectionView*)collectionViewdidSelectItemAtIndexPath:(NSIndexPath*)indexPath{
//DF_OpenFileVC *vc = [[DF_OpenFileVC alloc]init];
//[self pushVC:vc];
NSLog(@"选中:%ld",indexPath.row);
}
-(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"取消选中:%ld",indexPath.row);
}
默认第几个选中方法:
if(indexPath.item==0) {
//默认第一个选中
[collectionViewselectItemAtIndexPath:indexPath animated:YES scrollPosition:(UICollectionViewScrollPositionNone)];
}
4.全选或者取消全选。is_all:全选标识 1是全选 其他是取消全选;在全选按钮点击事件里对is_all进行赋值,然后刷新UICollectionView
下面的代码放在:
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath;
if ([is_all isEqualToString:@"1"]) {
[collectionView selectItemAtIndexPath:indexPath animated:YES scrollPosition:(UICollectionViewScrollPositionNone)];
}else{
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
}
5.全选按钮点击事件:
if ([is_all isEqualToString:@"1"]) {
is_all=@"0";
}else{
is_all=@"1";
}
[self.collection reloadData];
6.补充一下,tableView 是同理。就能实现全选了。
我希望用户从一个模型的三个选项中选择一个。即我有一个模型视频,可以被评为正面/负面/未知目前我有三列bool值(pos/neg/unknown)。这是处理这种情况的最佳方式吗?为此,表单应该是什么样的?目前我有类似的东西但显然它允许多项选择,而我试图将它限制为只有一个..怎么办? 最佳答案 如果要使用字符串列,让我们说rating。然后在你的表单中:#...#...它只允许一个选择编辑完全相同但使用radio_button_tag: 关于ruby-on-rails-Rails单选按钮-模
我正在使用以下代码来显示类别的TreeView选择框:grouped_collection_select(:categories,:category_id,Category.top_level,:children,:name,:id,:name,:include_blank=>true)如何更改它以允许多选?此外,是否可以让它显示复选框而不是选择框? 最佳答案 尝试grouped_collection_select(:categories,:category_id,Category.top_level,:children,:name
我目前正在使用RSpec编写一个表单测试,我想知道我将如何选择一个单选按钮,给出下面的表单:我希望我的测试看起来像这样:describe"withvalidoptionsselected"dobeforedo#CODETOSELECTARADIOBUTTONclick_button"SAVE"endend 最佳答案 describe"withvalidinfo"dobeforedochoose('True')click_button"CreateSetlist"end...end我必须为单选按钮分配一个ID才能正常工作额外引用文档:
我有一个看起来像这样的simple_form输入字段:当我关闭multiple:true时,表单会提交为参数:particular_users选择的值,我可以在使用“raiseparams.inspect”进行调试时看到该值。但是,当我将multiple:true选项留在那里时,不会为参数:particular_users传递任何值。我做错了什么?编辑:我无法使用关联输入,因为:particular_users是一个虚拟属性,没有关系。我希望多选框传递其中的任何值,即使它们是任意的。 最佳答案 f.input:days,collec
类似于这个问题:CheckboxesonRails在RubyonRails中制作与特定问题相关的单选按钮的正确方法是什么?目前我有:Theme:PlainDesertGreenCorporateFunky我还希望能够自动检查以前选择的项目(如果重新加载此表单)。我如何将参数加载到这些参数的默认值中? 最佳答案 如thispreviouspost,稍微扭曲一下:Theme:在哪里@theme=params[:theme] 关于ruby-on-rails-Rails上的单选按钮,我们在Sta
我想让它只在单击单选按钮(选项3)时显示下拉菜单,如果选择1或2,则将其隐藏。完成此操作的最佳方法是什么?我对JavaScript有一点经验,对jQuery几乎没有经验,但它似乎是可行的方法。感谢您的帮助,丹这是我目前拥有的HTML代码:Selection:Option1Option2Option3PleaseSelectFromtheList:TrueFalse 最佳答案 $(document).ready(function(){$("[name=select]").change(function(){//Wheneverther
我正在使用多选复选框下拉菜单。请看例子jsfiddle$(function(){$('#lstStates').multiselect({});});一旦您选择州,它就会显示TEXT值并用逗号连接,例如:NewJersey,NewYork,Ohio但我想要所选项目的VALUE如:NJ、NY、OH 最佳答案 您可以使用buttonText多选选项。http://jsfiddle.net/ejqngpn5/$('#lstStates').multiselect({buttonText:function(options,select){c
我有两个单选按钮我在加载时使用了mootoolwindow.addEvent('domready',function(){varchk="1";if(chk==1){$('edit-gender-0').set('checked',true);}elseif(chk==2){$('edit-gender-1').set('checked',true);}但它根本不起作用。任何帮助将不胜感激......以及任何其他没有if条件的简短解决方案。 最佳答案 您提供的代码工作正常-这是一个测试用例:http://jsfiddle.net/o
我正在尝试使用单选按钮在AngularJS中构建一个颜色配置器,一切似乎都在工作,数据绑定(bind)等等......但是我无法设置默认颜色单选按钮。正如我在文档中看到的那样,如果ng-model与radio值相同,则应该自动检查输入,但我不知道这是否仅适用于字符串而不适用于对象。这是HTML:{{color.name}}Preview:{{thing}}这是JS:functionThingControl($scope){$scope.colors=[{name:"White",hex:"#ffffff"},{name:"Black",hex:"#000000"}]$scope.thi
我有两个多选框,Box1选项是动态填充的,当我从这个选择框中选择任何选项时,它应该被添加到新的Box2中。此方案按要求工作。我面临的问题是。当我从Box1中删除任何选定的项目时,我可以将其从Box2中删除。但如果在Box2中选择了该项目,它仍然存在。例如:A、B、C是框1中的选定值,框2填充了A、B、C。如果我在Box2中选择B,c,并且如果我从Box1中删除B。我的Box2项目现在将是AC。但是B,C仍然会在Box2中保持选中状态。谁能帮我解决这个棘手的问题。$("#Box1").on("change",function(){varbox1List=$('#Box1').val();