Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在UITableViewCell中获取屏幕宽度?_Ios_Uitableview_Swift - Fatal编程技术网

Ios 如何在UITableViewCell中获取屏幕宽度?

Ios 如何在UITableViewCell中获取屏幕宽度?,ios,uitableview,swift,Ios,Uitableview,Swift,我想布置一个UITableViewCell。为此,我需要知道我的设备的屏幕宽度。通常,在ViewController中,我通过以下方式获得屏幕宽度: self.view.frame.width 在我的情况下,这将是375 在我的UITableViewCell中获取宽度时,我得到的宽度为320: class CellResult: UITableViewCell { ... ... override init(style: UITableViewCellStyle, reuseIden

我想布置一个UITableViewCell。为此,我需要知道我的设备的屏幕宽度。通常,在ViewController中,我通过以下方式获得屏幕宽度:

self.view.frame.width
在我的情况下,这将是375

在我的UITableViewCell中获取宽度时,我得到的宽度为320:

class CellResult: UITableViewCell {

...
...
    override init(style: UITableViewCellStyle, reuseIdentifier: String!) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)

        let rowwidth=frame.width; // <--- 320
我之前初始化了宽度为375的UITableView框架


如何在UITableViewCell中获取设备的实际宽度?

如评论中所述,您可以使用UIScreen获取屏幕大小;但是,我认为在需要定位自己的自定义视图等情况下,访问单元格实际大小的正确位置是在布局其子视图之后。换句话说,您可以覆盖单元子类中的layoutSubviews方法,并根据单元的框架执行任何需要执行的操作,框架的大小将保持在适当的位置。

告诉我们您从何处调用它。一些上下文将有助于回答您的问题。刚刚更新了问题:let rowwidth=frame.width;//您始终可以使用UIScreen.mainScreen.bounds.width glorfinel获取当前屏幕宽度。如果你愿意,你可以回答,我会接受的。