【问题标题】:How do I use cgsize make?如何使用 cgsize 制作?
【发布时间】:2014-04-26 05:33:24
【问题描述】:

我一直在尝试使用cgsizemake,如下:

我正在尝试使用 cgrectmake 使我的图像框架具有不同的大小,而不是更改坐标。

到目前为止我已经尝试过

 maincharacter.frame = cgsizemake (14, 14); 

但我不断收到错误

从不兼容的 CGsize 类型分配给 cgrect

【问题讨论】:

  • 仅供参考 - Objective-C 区分大小写。请在您的问题中使用正确的大小写以明确。
  • 在一个框架中你需要提供CGRECT。框架具有 x 轴、y 轴、宽度和高度。这就是为什么“从不兼容的类型 CGsize 分配给 CGrect”的原因。

标签: ios cgsize


【解决方案1】:

一种解决方案是:

CGRect frame = maincharacter.frame;
frame.size = CGSizeMake(14, 14);
maincharacter.frame = frame;

【讨论】:

    【解决方案2】:

    CGSize 只接受高度和宽度

    CGSize c=CGSizeMake(width, height);
    

    如果要设置帧大小,请使用 CGRectMake

    maincharacter.frame=CGRectMake(x-origin,y-origin, width, height);
    

    【讨论】:

    • 如果您不打算使用变量c,它有什么意义?此答案未显示如何使用 CGSizeMake 更新框架。
    【解决方案3】:

    maincharacter.frame 必须返回 (x, y, width, height) 4 个参数,而 CGSizeMake 只有 "width" 和 "height" 2 个参数。所以你有一个错误。解决方案是使用 frame.size,它返回 2 个参数来使用 CGSizeMake(14, 14)。

    【讨论】:

      【解决方案4】:
       CGSize viewwidth;
          viewwidth=[[UIScreen mainScreen] bounds].size;
      

      这将帮助您使用 cgsize 获取设备当前分辨率。

      viewwidth.width or viewwidth.height
      

      如上所述,您可以使用它。以及下面的代码

      rightslide=[[UIView alloc]initWithFrame:CGRectMake(0,0, viewwidth.width, viewwidth.height)];
      

      【讨论】:

        【解决方案5】:

        要使用CGSize 类型的变量c,您可以分别调用c.0c.1 作为高度和宽度。我不知道他们为什么将这些属性命名为 0 和 1,但您必须与 Dennis Ritchie 一起讨论

        这是CGSizeMake 的用法示例:

                var makeSize =  CGSizeMake(size.0, size.1)
                let circ = SKShapeNode(ellipseOfSize: makeSize)
        

        希望对您有所帮助。

        【讨论】:

          【解决方案6】:

          以下是在 UIScrollView 中使用 CGSizeMake 的示例

          var mainScrollView: UIScrollView?
          var numPages = 3
          
          override func viewDidLoad() {
              super.viewDidLoad()
          
              //this gets the screen frames size
              var fm: CGRect = UIScreen.mainScreen().bounds
          
              //creates a UIScrollView programmatically
              self.mainScrollView = UIScrollView(frame:CGRectMake(0, 0, fm.size.width, fm.size.height))
          
              self.mainScrollView!.contentSize = CGSizeMake(self.mainScrollView!.frame.size.width, self.mainScrollView!.frame.size.height * CGFloat(numPages))
           }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-08-17
            • 1970-01-01
            • 1970-01-01
            • 2013-05-30
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多