Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.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无法使用UIView_Iphone_Ios_Objective C_Uiview - Fatal编程技术网

Iphone CGRectMake无法使用UIView

Iphone CGRectMake无法使用UIView,iphone,ios,objective-c,uiview,Iphone,Ios,Objective C,Uiview,今天我花了好几个小时只是为了在我的应用程序加载时隐藏PickerView,但问题不在于PickerView。这是用CGR制作的 我在Xcode上尝试了一个简单的项目,只是想告诉你CGRectMake对我不起作用 这是我的故事板(灰色区域是UIView组件): 这是我的界面: #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (strong, nonatomic) IBOut

今天我花了好几个小时只是为了在我的应用程序加载时隐藏PickerView,但问题不在于PickerView。这是用CGR制作的

我在Xcode上尝试了一个简单的项目,只是想告诉你CGRectMake对我不起作用

这是我的故事板(灰色区域是UIView组件):

这是我的界面:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIView *container;

@end
这是非常基本的代码,没有被其他代码污染。。。但不管怎样,给那个CGRectMake的任何数字都不会使那个灰色区域移动。我已经改变了X,Y值,但是灰色的UIView像你在故事板上看到的一样静止不动

为什么CGRectMake不处理我的案子?问题出在哪里

更新:我看到“我的检查器”框中选中了“自动布局”

更新:这是我的连接检查器

确保您的
IBOUTLET
连接已与视图连接


如果为
情节提要
启用了
自动布局
,则更改视图的
将不起作用

不能直接使用
自动布局
更改帧。您必须更改它们周围的约束


如果您为<代码>情节提要<代码>禁用<代码>自动布局,它将工作。

CGrectmake仅因为您将帧大小设置为CGrectmake(0、0、320、204);根据大小,如果要隐藏将x或y坐标更改为超出范围的值,则自定义视图将在主视图中可见。然后别忘了取消选中“自动布局”

container.frame = CGRectMake(200, 0, 320, 204);

情节提要中是否启用了自动布局?是的,我启用了,请检查我的更新。这就是你的意思吗?CGRectMake正在工作。我确信它把框架设置正确了。但是,如果UIView没有反应,则可能意味着稍后会进行一些布局(可能是自动布局?)。尝试覆盖LayoutSubview,但不要在内部执行任何操作。是的,AutoLayout的规则1。不能更改任何视图的框架。您有将视图固定在位的约束。您可以尝试更改框架,但它不起作用,因为约束将其固定到位。您可以关闭自动布局或更新约束,而不是使用
\u container.frame=…
您好,谢谢您的回复。。。我只是更新我的帖子。添加了我的连接检查器。这是问题的原因吗?你是个聪明人!!!你解决了这个问题!!!非常感谢我。。。我爱你,伙计!!!;-)哈哈,不用担心。很乐意帮忙:)不过“真正”的解决方案是通过AutoLayout获得您想要的行为:)这本书太棒了。我从中学到了所有自动布局的东西。我发现了问题,兄弟。。。这都是因为“自动布局”。。。谢谢你来这里……好的。。现在希望选择者隐藏是的它是。。。我花了12个多小时才找到这个。。。很高兴见到你…;-)您只需将translatesAutoResizengMaskintoConstraints设置为YES;在uiView元素上,仍然保留自动布局。这将把元素重绘为新的框架。
container.frame = CGRectMake(200, 0, 320, 204);