Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
Iphone 找到按钮的位置。CGRectMake_Iphone_Objective C_Ios_Cocoa Touch - Fatal编程技术网

Iphone 找到按钮的位置。CGRectMake

Iphone 找到按钮的位置。CGRectMake,iphone,objective-c,ios,cocoa-touch,Iphone,Objective C,Ios,Cocoa Touch,我有一个按钮,我使用CGRectMake将其定位如下: btn5.frame = CGRectMake(211, 280, 109, 60); btn5.frame = CGRectMake(0, self.view.frame.size.height - 60, 109, 60); 我猜按钮的坐标是211和280。因此,如果希望按钮位于左下角附近,如何修改该代码。在CGRectMake(211、280、109、60)中,您正在为按钮定义一个框架 前两个参数是按钮左上角的x&y坐标位置(在父

我有一个按钮,我使用
CGRectMake
将其定位如下:

btn5.frame = CGRectMake(211, 280, 109, 60);
btn5.frame = CGRectMake(0, self.view.frame.size.height - 60, 109, 60);
我猜按钮的坐标是
211
280
。因此,如果希望按钮位于左下角附近,如何修改该代码。

在CGRectMake(211、280、109、60)中,您正在为按钮定义一个框架

前两个参数是按钮左上角的x&y坐标位置(在父视图的坐标系中)

第二个参数是按钮的宽度和高度


如果希望按钮位于父视图的绝对左下角,则应将x坐标设置为0(即距父视图左边缘0像素),将y坐标设置为父视图的高度-60(其中60是高度或按钮)。如果您想在按钮周围留一些空白,则相应地调整x和y。

是的,您是正确的。按钮的框架定义了它在其父视图上的位置。因此,
btn5
将位于位置(x=211,y=280),并且如果使用此代码,将具有尺寸(宽度=109,高度=60):

btn5.frame = CGRectMake(211, 280, 109, 60);
一般的表述是:

btn5.frame = CGRectMake(buttonX, buttonY, buttonWidth, buttonHeight);

如果要将按钮的位置更改为左下角,可以执行以下操作:

btn5.frame = CGRectMake(211, 280, 109, 60);
btn5.frame = CGRectMake(0, self.view.frame.size.height - 60, 109, 60);
如果要在按钮和角之间添加一些空间,并更改按钮的大小,请执行以下操作:

CGFloat x = leftPadding;
CGFloat y = self.frame.size.width - desiredHeight - bottomPadding;
btn5.frame = CGRectMake(x, y, desiredWidth, desiredHeight); 


有关更多信息,请查看《苹果指南》。

不,我想硬编码框架,因此以编程方式定位框架。我觉得你要做的就是修改你在某个地方找到的教程中的代码。忠告:不要那样做。学会正确编程,否则你只能对找到的教程进行限制。我对你的问题进行了编辑以使其更清晰,因此它是否仍然反映了你原来的问题?下面是我的答案吗?@Emilio:相反,从教程中获取代码并修改它以了解所发生的事情绝对是掌握一门新语言的最好方法之一。@lulius:我不同意这一点。如果您已经有一些编程知识,那么使用教程可能会对您有所帮助。否则,仅仅通过阅读教程就无法获得太多的知识,学习所发生的事情是不够的。如何找到x和y坐标?