ios table实现单选

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

    return 1;

}


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

{

       return [tagsArray count];

}


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

{

        static NSString * identifier=@"friendCell";

        UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:identifier];

        if(!cell)

        {

            cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];

        }

        NSUInteger row = [indexPath row];

        NSUInteger oldRow = [lastIndexPath row];

        [tableView cellForRowAtIndexPath:indexPath].accessoryType = (row == oldRow && lastIndexPath != nil) ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;

        

        cell.textLabel.text=[tagsArray objectAtIndex:indexPath.row];

        return cell;

    }



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

{

        int newRow = [indexPath row];

        int oldRow = [lastIndexPath row];

        

        if ((newRow == 0 && oldRow == 0) || (newRow != oldRow))

{

            UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];

            newCell.accessoryType = UITableViewCellAccessoryCheckmark;


            UITableViewCell *oldCell = [tableView cellForRowAtIndexPath: lastIndexPath];

            oldCell.accessoryType = UITableViewCellAccessoryNone;

            lastIndexPath=indexPath;

        }

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp是一个基于Vue.js的跨平台开发框架,可以用于开发iOS、Android、H5等多个平台的应用程序。在UniApp中,可以使用table组件来展示表格数据,并且可以通过设置属性来实现单选功能。 在UniApp的table组件中,可以通过设置`@radio-change`事件来监听单选框的选择变化。当用户选择某一行时,会触发该事件,并传递选中行的数据给事件处理函数。在事件处理函数中,可以根据需要对选中的行进行处理,比如更新状态、展示详细信息等。 以下是一个示例代码,演示了如何在UniApp中实现table单选功能: ```html <template> <view> <table :data="tableData" @radio-change="handleRadioChange"> <table-column prop="name" label="姓名"></table-column> <table-column prop="age" label="年龄"></table-column> <table-column prop="gender" label="性别"></table-column> </table> </view> </template> <script> export default { data() { return { tableData: [ { name: '张三', age: 20, gender: '男' }, { name: '李四', age: 22, gender: '女' }, { name: '王五', age: 25, gender: '男' } ], selectedRow: null }; }, methods: { handleRadioChange(row) { this.selectedRow = row; // 在这里可以对选中的行进行处理 } } }; </script> ``` 在上述代码中,`tableData`是一个数组,包含了要展示的表格数据。`selectedRow`是一个变量,用于保存当前选中的行数据。当用户选择某一行时,会触发`handleRadioChange`方法,并将选中的行数据作为参数传递给该方法。在`handleRadioChange`方法中,可以对选中的行进行处理,比如更新状态、展示详细信息等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值