作为子视图添加的UIButton远离UIView

时间:2014-03-13 12:09:54

标签: ios iphone

经常尝试和搜索。当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];

这是我的代码。它看起来像这样

enter image description here

2 个答案:

答案 0 :(得分:2)

查看UIButton的框架。它的起源是100px。它应该是0,如果你想将它添加到大众。

答案 1 :(得分:1)

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

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

如果它位于superview之外,你不想出现,使用它。 vw.clipsToBounds = YES