首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在UITableViewCell swift中获得正确的UIView宽度

在UITableViewCell的swift中获取正确的UIView宽度,可以通过以下步骤实现:

  1. 首先,确保你已经在UITableViewCell的子类中创建了一个自定义的UITableViewCell。
  2. 在自定义的UITableViewCell类中,重写layoutSubviews()方法。这个方法会在UITableViewCell的子视图布局发生变化时被调用。
  3. 在layoutSubviews()方法中,可以通过以下代码获取正确的UIView宽度:
代码语言:swift
复制
override func layoutSubviews() {
    super.layoutSubviews()
    
    let viewWidth = contentView.bounds.width
    // 这里的viewWidth就是正确的UIView宽度
}
  1. 在获取到正确的UIView宽度后,你可以根据需要进行相应的操作,例如设置子视图的宽度约束、更新子视图的布局等。

这样,你就可以在UITableViewCell的swift中获得正确的UIView宽度了。

对于UITableViewCell的swift中获取正确的UIView宽度的应用场景,可以是在自定义的UITableViewCell中根据不同的数据动态调整子视图的宽度,以适应不同的布局需求。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅供参考,具体的产品选择应根据实际需求进行评估和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MyLayout&TangramKit 重大升级!

比如一些界面中有父视图尺寸由子视图尺寸来确定;还比如UIScrollView为了能实现滚动需要根据添加到里面的子视图来调整contentSize尺寸;又比如某些UITableViewCell高度是动态...3.UITableViewCell高度自适应 UITableViewCell要实现高度自适应,需要在UITableViewDelegate方法: -(CGFloat)tableView:(UITableView...要求S高度和宽度根据三个子视图高度和宽度自适应,那么只需要将布局视图S约束设置为如下: //OC版本 S.wrapContentSize = YES; //Swift版本 S.tg_size(width...UITableViewCell高度自适应 UITableViewCell要实现高度自适应,需要在UITableViewDelegate方法: -(CGFloat)tableView:(UITableView...然后在UITableViewCell派生类建立一个根布局视图,这个根布局视图作为子视图添加到contentView中代码如下: //假设根布局视图是一个垂直线性布局视图。

2K20

Swift 面向对象解析(二)

ZXMessageCell: UITableViewCell { // 自定义cell继承与UITableviewCell }      继承了父类,你也就能使用父类属性方法...二:类构造与析构 由于类继承,子类不仅包括了自己定义存储属性,还包括从父类继承得到存储属性,类所有存储属性,包括所有的继承父类属性,在构造过程必须设置初始值,因此类构造过程相对比较复杂...你在这个.Swift文件当中定义了常量和OCPCH头文件功能是完全一样。        ...看下面的代码例子,下面是给UIView扩展了两个方法: // MARK: - UIView扩展方法 extension UIView{ func containsSubView(subView...Swift学习笔记(十一)--拓展和协议 Swift协议和扩展 六  协议: Swift 协议作用类似于 OC协议,其实OC协议你理解的话,这里也就没多少需要在强加去解释

94570

iOS下界面布局利器-MyLayout布局框架

并提供了视图隐藏和显示时会自动激发布局、布局视图高度自适应(UITableviewCell动态高度)、标签云实现、左右内容宽度自适应、按比例分配尺寸和间距、整体停靠控制等等各种强大功能。...视图A左边距占用父视图宽度20%,而右边距则占用父视图宽度30%,高度则等于自身宽度。 视图B左边距是40,宽度则占用父视图剩余宽度,高度是40。...视图C宽度占用父视图所有宽度,高度是40。 视图D右边距是20,宽度是父视图宽度50%,高度是40。 最终效果图如下: !...布局尺寸类MyLayoutSize MyLayoutSize类是用来描述一个视图尺寸类。UIView扩展出了widthSize,heightSize这两个变量来实现视图宽度和高度尺寸设置。...Lib文件夹下所有文件复制到您工程

1.8K30

iOS开发中行高灵活可变UITableView性能优化

在iOS7系统之后,UITableView类增加了一个estimatedRowHeight属性,顾名思义,这个属性是设置UITableViewCell大约行高值。...这个值设置之后,开发者无需设置rowHeight属性,也不需要实现heightForRowAtIndexPath方法,系统会自动根据UITableViewCellcontentView约束来计算自己行高...那么现在问题来了,如何才能让cell正确计算自己高度,这就要使用到Autolayout了,无论是通过xib文件创建cell还是代码创建cell,若想让cell自动正确计算出自身高度,必须添加足够压力约束...estimatedHeightForHeaderInSection:(NSInteger)section{ return 10; } //使用自动布局给头视图添加足够布局压力 -(UIView...在创建出来时,其宽度并不一定和UITableView宽度一致,如果开发者需要通过获取cell宽度来处理逻辑,要在celllayoutSubViews里面进行,此时cell宽度正确

1.9K20

iOS从Xib设置样式

而经过我测试发现在Xcode6.1和Xcode6.4下这个margin可能表现行为还不一样。 为了避免麻烦,还是不用margin约束比较好,如何在添加约束时不使用margin约束呢?...,当然能最大限度使用xib可自定义属性当然是极好,下面就说一下一些不常用从xib可设置属性 这些属性设置在右面设置菜单第三个选项卡User Defined Runtime Attributes...Xcode 6以上支持一种新方法,特好用 其实就是为UIView添加扩展 或 继承 添加IBInspectable属性 既可以图形化设置某些属性 这样在右侧第四个选项卡神奇出现了自定义设置项...UIView(border_cornerRadius) // 注意: 加上IBInspectable就可以可视化显示相关属性哦 /** 可视化设置边框宽度 */ @property (nonatomic...下实现方式(扩展) UIView+Border&CornerRadius.swift import Foundation import UIKit extension UIView {

2.3K20

自学Swift之路(二)UITableView自定义和实际利用

6EDD4AC9-47E3-401F-91A4-2DA836439787.png Demo开始之前,我们想想应该会使用到屏幕宽高等一些常用值,在OC,咱们可以使用PCH然后宏定义,然而在Swift...coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } } 代码自定义单元格加上了一个...ImageView和一个Label,虽然数据是死,但是在Swift,另外一个类是可以直接访问另一个类变量(如果没做任何保护的话),所以我们在配置cell时候是可以直接赋值,这里就不弄了,然后我们看创建表视图那一块...学了这么几天,我发现Swift还是比较容易入手,下篇文章我会用一个小项目,本人是做室内地图SDK,这次小项目是仿我OC写SDK Demo,使用Swift和OC混编,集成百度地图SDK和自己室内...在下篇文章中会讲讲,Swift项目已上github:https://github.com/qingmomo/Swift-die OC版demo在我们官网:http://www.innsmap.com

2.3K90

优雅使用UITableView

痛点 在我们iOS开发UITableView几乎是所有App都会使用一个UI控件,因为业务需要,我们常常会注册多种Cell,然后在 - (UITableViewCell *)tableView:(...高度计算 在iOS8之后UITableView推出了Self-sizing功能,所以Cell高度改变 UIView *dummyView = [[UIView alloc] init...响应链可以解决问题: 扩大相应区域 超出父类视图相应依然可以传递 垮图层传递事件 找到UIViewUIViewController - (UIViewController *)viewController...[image.png] 注意 用这个协议主要是方便代码阅读,而且在Swift是必须使用协议,因为编译时找不到这个方法。...部分,List部分我会在demo给出 关于Detail和List概念我会在第三节中介绍,第二节是Swift思路,Swift可以用到泛型,代码更优雅。

95300

自学Swift之路(一)UI入手之基本控件

,里面创建一些基本UI控件,然后在viewDidLoad调用: override func viewDidLoad() { super.viewDidLoad()...,两种语言控件属性是一样,只是语法有些不一样而已,多写几个就会发现Swift都是一个套路.那好吧,简单控件就不写了,接下来我们来写下UITableView // 5.UITableView...} 当然,别的方法也是一样,点击单元格: func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath...) { print("点击了单元格") } 好了,这篇文章内容就到这里了,下一篇文章将会围绕UITableView,自定义UITableViewCell来写点可视化内容较强东西...本人也是正在学习,文章内容如有错误,还请指正,有需要优化地方,也请帮忙指出,帮助大家共同进步

2.9K110

Swift 类构造器使用

程序员连自己写源代码都不想读, 怎么可能看别人写源代码! 每半年获得知识相当于之前获得全部知识总和. 个人觉得这句话还是蛮有道理...._wv=1027&k=lzJejkSl),不管你是大牛还是小白都欢迎入驻 使用 init 方法正确姿势 苹果官方文档关于构造器部分请戳这里 在 Swift , 类初始化有两种方式, 分别是...Swift 编译器会对初始化方法进行安全地检查已保证实例初始化可以被安全正确执行: 指定构造器必须要确保所有被类中提到属性在代理向上调用父类指定构造器前被初始化, 之后才能将其它构造任务代理给父类构造器...跟 ObjC 不同, Swift 子类默认不会继承来自父类所有构造器. 这样可以防止错误继承并使用父类构造器生成错误实例(可能导致子类属性没有被赋值而正确初始化)....Swift 构造器 init 坑还是很多, 而目前我也终于把这个构造器这个坑填上了, 最终决定还是要重新详细看一遍 Swift 官方文档, 而整篇博客和问题解决都是基于官方文档.

1.7K20

iOS小技能: 解决UITableViewCell兼容问题(iOS14适配)

前言 问题:升级最新IDE Xcode,发现app首页cell按钮也无法点击了。...原因:往cell添加子视图方式不规范,导致contentView 置于自定义控件上层,引发界面无响应(注意处理相关方法) I 问题分析 iOS14 UITableViewCell子试图不能点击或者滑动等手势响应问题...例如125个文件1452个地方使用错误方法,这个如果不使用hook高质工作量有点大 所以通过Runtime hook celladdSubView 方法强制修改为正确添加cell 子视图方式...*)[textField superview].superview; 所以使用class时候,最好写得健壮性强点,进行类型判断,避免一旦类型错误,就会找不到对应方法,发送闪退 UIView...3.2 iOS 恢复调用栈(适配iOS14) 原理:objective-c 函数信息除了保存在符号表,还保存在其他段 https://github.com/zhangkn/restore-symbol4iOS14

1.3K30
领券