我一直在尝试使用cgsizemake
如下:
我正在尝试使用cgrectmake
而不是更改坐标来使图像的框架具有不同的大小。
到目前为止我已经尝试过
maincharacter.frame = cgsizemake (14, 14);
但我不断收到错误
从不兼容的类型 CGsize 分配给 cgrect
One solution would be:
CGRect frame = maincharacter.frame;
frame.size = CGSizeMake(14, 14);
maincharacter.frame = frame;
CGSize 只接受高度和宽度
CGSize c=CGSizeMake(width, height);
如果要设置帧大小,请使用 CGRectMake
maincharacter.frame=CGRectMake(x-origin,y-origin, width, height);
maincharacter.frame 必须返回 (x, y, width, height) 4 个参数,而 CGSizeMake 只有 "width" 和 "height" 2 个参数。所以你有一个错误。解决方案是使用 frame.size,它返回 2 个参数以使用 CGSizeMake(14, 14)。
CGSize viewwidth;
viewwidth=[[UIScreen mainScreen] bounds].size;
这将帮助您使用 cgsize 获取设备当前分辨率。
viewwidth.width or viewwidth.height
如上所述,您可以使用它。以及下面的代码
rightslide=[[UIView alloc]initWithFrame:CGRectMake(0,0, viewwidth.width, viewwidth.height)];
要使用类型的变量c
,CGSize
您将分别调用c.0
和c.1
作为高度和宽度。我不知道他们为什么将这些属性命名为 0 和 1,但您必须与 Dennis Ritchie 一起讨论
以下是 的示例用法CGSizeMake
:
var makeSize = CGSizeMake(size.0, size.1)
let circ = SKShapeNode(ellipseOfSize: makeSize)
希望有帮助。
下面是在 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))
}