【问题标题】:how to set frame dynamically in swift?如何快速动态设置框架?
【发布时间】:2015-12-21 10:35:12
【问题描述】:

我正在尝试将 imageview 设置为 scrollview 的子视图。因为我设置不同的框架取决于屏幕大小。

这是我的代码

 let screensize:CGRect=UIScreen.mainScreen().bounds
        let screenwidth=screensize.width
        var frames:CGRect
        for var index=0 ;index < arrBirds.count ;index++
            {
                if(screenwidth==320)
                {
                    frames.origin.x = CGFloat(index) * (self.view.frame.size.width);
                    frames.origin.y = 0;

                    frames.size=scrollview.frame.size;

                }
                else if(screenwidth==375)
                {
                    frames.origin.x = CGFloat(index) * (self.view.frame.size.width);
                    frames.origin.y=0;
                    frames.size=scrollview.frame.size;
                }
                else
                {
                    frames.origin.x = CGFloat(index) * (self.view.frame.size.width);
                    frames.origin.y=0;
                    frames.size=scrollview.frame.size;
                }

                imageView=UIImageView(frame:frames)
                imageView.image=UIImage(named: arrBirds[index] as! String)
                scrollview .addSubview(imageView)

但我在这行出错了

  frames.origin.x = CGFloat(index) * (self.view.frame.size.width);//struct frame must be completely initialised  before a member is stored to.

【问题讨论】:

  • 我不知道哪个答案是第一个@luk2302
  • 您可以通过将鼠标悬停在每个答案右下角的时间戳上看到这一点 - 其中写有“2 小时前已回答”(如果悬停,它将显示确切的秒数)。此外,您可以按“最旧”排序答案。
  • 是的 @luk2302 :) ...

标签: ios swift cgrect


【解决方案1】:

您尚未创建结构 CGRect 的实例。在访问/设置任何成员之前,您需要先创建一个实例,仅在此之后设置它的不同成员:

var frames:CGRect行改为:

var frames = CGRectZero

【讨论】:

    【解决方案2】:

    根据Apple Docs

    类和结构必须将其所有存储的属性设置为 到该类的实例时的适当初始值或 结构已创建。

    你的frames 对象没有初始化,你应该写:

    var frames = CGRectZero
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      相关资源
      最近更新 更多