Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.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
Ios 当子视图远离UIView时添加的UIButton_Ios_Iphone - Fatal编程技术网

Ios 当子视图远离UIView时添加的UIButton

Ios 当子视图远离UIView时添加的UIButton,ios,iphone,Ios,Iphone,试了很多次,搜索了很多。当superview的边框较小时,添加为子视图的按钮远离视图。我不希望它出现在画面很小的时候 UIView *vw = [[UIView alloc] initWithFrame:CGRectMake(20 , 100, 200, 30)]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem]; [btn setTitle:@"OK" forState:UIControlStateNo

试了很多次,搜索了很多。当superview的边框较小时,添加为子视图的按钮远离视图。我不希望它出现在画面很小的时候

 UIView *vw = [[UIView alloc] initWithFrame:CGRectMake(20 , 100, 200, 30)];
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
    [btn setTitle:@"OK" forState:UIControlStateNormal];
    [btn setFrame:CGRectMake(20 , 100, 30, 20)];
    [vw sendSubviewToBack:btn];
    [vw addSubview:btn];
    [vw setBackgroundColor:[UIColor redColor]];
    [self.view addSubview:vw];
这是我的密码。看起来像这样


你做错了。在将btn添加到视图之前,您已经调用了
sendSubviewToBack:
。只需重写如下

[vw addSubview:btn];//First
[self.view addSubview:vw];//second
[vw sendSubviewToBack:btn];//Third

如果它位于superview之外,则不希望显示,请使用此选项
vw.clipsToBounds=YES

查看UI按钮的框架。它的起源。y是100px。如果要将其添加到vw中,则应为0。

您知道superview的边界。测试你是否放置了按钮。检查UIButton的第一视图层次……它在iOS 7give中发生了变化[btn setFrame:CGRectMake(20,0,30,20)];选中此复选框,则必须剪裁子视图按钮的帧的y原点应为0。您必须添加btw,然后对其进行操作。[vw添加子视图:btn];[大众发送子视图备份:btn];