iOS获取一个view对应的子view

很多时候,我们会遇到这样的一种场景,在一个view的一堆subviews里面找到我们想要的那个view,尤其是要在一个不是我们自己写的view的subviews中找到那个想要的view, 这种场景下,能获取到这个view就显得至关的有用了。譬如,我们要自定义tableview左滑删除的样式时,尤其是自定义成一个特定的图标或者更复杂的情况,具体看下面截图:

在这里插入图片描述
在这种情况下,我们就需要获取到这个tableview下的UISwipeActionStandardButton,在它上面添加一个自定义的imageview来显示图标。

其实方法也是很简单的,就是通过简单的递归遍历来实现就行了,具体如下:

//如果找到了就返回找到的view,没找到的话,就返回nil
+ (UIView *)getSubViewWithClassName:(NSString *)className inView:(UIView *)inView {
    //判空处理
    if(!inView || !inView.subviews.count || !className || !className.length || [className isKindOfClass:NSNull.class]) return nil;
    //最终找到的view,找不到的话,就直接返回一个nil
    UIView *foundView = nil;
    //循环递归进行查找
    for(UIView *view in inView.subviews) {
        //如果view是当前要查找的view,就直接赋值并终止循环递归,最终返回
        if([view isKindOfClass:NSClassFromString(className)]) {
            foundView = view;
            break;
        }
        //如果当前view不是要查找的view的话,就在递归查找当前view的subviews
        foundView = [self getSubViewWithClassName:className inView:view];
        //如果找到了,则终止循环递归,最终返回
        if (foundView) break;
    }
    return foundView;
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
iOS开发中,你可以使用UITableView来创建一个包含个单元格的视图。以下是创建多个单元格的基本步骤: 1. 创建一个UITableView并将其添加到你的视图控制器的视图层次结构中。 ``` let tableView = UITableView(frame: view.bounds) view.addSubview(tableView) ``` 2. 为UITableView设置数据源和委托。数据源负责提供要显示的数据,委托负责处理用户与单元格的交互。 ``` tableView.dataSource = self tableView.delegate = self ``` 3. 实现UITableViewDataSource协议中的必要方法,以提供单元格的数量和内容。 ``` extension YourViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return yourDataArray.count // 返回你要显示的单元格数量 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "YourCellIdentifier", for: indexPath) as! YourTableViewCell let data = yourDataArray[indexPath.row] // 获取对应位置的数据 cell.configure(with: data) // 根据数据配置单元格 return cell } } ``` 4. 自定义UITableViewCell,根据你的需求配置单元格的外观和内容。 ``` class YourTableViewCell: UITableViewCell { func configure(with data: YourData) { // 根据数据设置单元格的内容 } } ``` 以上是创建多个单元格的基本步骤,你可以根据自己的需求对单元格进行进一步的定制和配置。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值