我如何使用cgsize make?

时间:2014-04-26 05:33:25

标签: ios cgsize

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

我尝试使用cgrectmake而不是更改坐标来使我的图像的帧尺寸不同。

到目前为止,我已经尝试了

 maincharacter.frame = cgsizemake (14, 14); 

但我一直收到错误

从不兼容类型CGsize分配给cgrect

提前致谢。

6 个答案:

答案 0 :(得分:18)

一种解决方案是:

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

答案 1 :(得分:13)

CGSize只接受高度和宽度

CGSize c=CGSizeMake(width, height);

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

 CGSize viewwidth;
    viewwidth=[[UIScreen mainScreen] bounds].size;

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

viewwidth.width or viewwidth.height

如上所述你可以使用它。以及如下代码

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

答案 4 :(得分:0)

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

以下是CGSizeMake的示例用法:

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

希望有所帮助。

答案 5 :(得分:0)

下面的

是在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))
 }