iOS中UITableView的一些设置

mac2022-06-30  13

不可滑动:

? 1 tableView.userInteractionEnabled = NO;

也可以在storyboard中的userInteractionEnable属性设置

 

显示导向箭头:

? 1 2 // 显示导向箭头 cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

 

自定义按钮:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {      static  NSString *ID = @ "device" ;      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];            HHDevice *device = self.device[indexPath.row];      // 给cell的控件赋值      cell.textLabel.text = device.nickName;      cell.detailTextLabel.text = device.IMSI;            // 自定义一个button      UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];      btn.frame = CGRectMake(0, 0, 55, 25);      btn.backgroundColor = [UIColor clearColor];      btn.tag = indexPath.row; // 给按钮绑定tag,好知道点击的是哪行      [btn setTitle:@ "Edit"  forState:UIControlStateNormal];            [btn addTarget:self action:@selector(Edit:) forControlEvents:UIControlEventTouchUpInside];            cell.accessoryView = btn;            return  cell; }

 

设置背景图片:

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1.给tableView设置背景view      UIImageView *backImageView=[[UIImageViewalloc]initWithFrame:self.view.bounds];       [backImageView setImage:[UIImageimageNamed:@ "liaotianbeijing" ]];        self.tableView.backgroundView=backImageView;        2.让cell透明   -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath   {                      MyCell  *cell = [tableViewdequeueReusableCellWithIdentifier:@ "METext" forIndexPath:indexPath];        cell.backgroundColor=[UIColor clearColor]; //关键语句        [cell setCellInfo:dic]; //自定义类目方法         return  cell;            }

      给tableView设置背景图片,但如果直接设置背景  backgroundView的话,背景图不会显示,原因是  tableView上的cell默认是不透明的颜色,所以解决方法是 让  cell透明即可。

 

给cell设置图片:

? 1 cell.imageView.image = [UIImage imageNamed:@ "childish_folder" ];

 

cell滑动删除功能:

? 1 2 3 4 5 - ( void )tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {      NSLog(@ "userId是:%@" ,_userId);      NSLog(@ "长按的行号是:%d" ,[indexPath row]); }

NSInteger的输格式化输出是%ld:

? 1 NSString *number = [@ "NO."  stringByAppendingString:[NSString stringWithFormat:@ "%ld:" , (indexPath.row + 1)]];

如果格式写成%d的话,Xcode会出现警告。

转载于:https://www.cnblogs.com/piaojin/p/5083504.html

相关资源:iOS利用UITableView设置全屏分隔线的3种方法总结
最新回复(0)