1

这是我的问题,我在我的容器视图中添加了一个子视图,而我container view的大小为 (0,0),我希望我subviewcontainer view. 我可以在不自定义我的layOutSubviews方法的情况下实现这个目标吗?我的代码就像是

- initWithFrame:(CGRect)frame {
    self = [super initWithFrame:frame];
    if (self) {
        mySubview = [[UIView alloc] init];
        //how to code here????
        [myContainerView addSubview:mySubview];
    }
    return self;
}
4

3 回答 3

1

在 iOS 6 中,你应该可以通过约束来做到这一点,但在 iOS 6 之前,我不建议在非零帧之前添加子视图,或者如果你这样做了,我建议使用layoutSubviews来修复它。在零大小的盒子内不可能有 4 点的边距,所以它永远不会使用弹簧和支柱正确地自动调整大小。

于 2013-01-03T23:01:24.320 回答
0
- initWithFrame:(CGRect)frame {

    self = [super initWithFrame:frame];
    if (self) {
        mySubview = [[UIView alloc] init];
        mySubview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
        [myContainerView addSubview:mySubview];
    }
    return self;
}
于 2012-11-09T10:25:57.570 回答
0

Rob Napier 所说的......你自己的-layoutSubviews会很简单:

-(void)layoutSubviews
{
    [ super layoutSubviews ] ;

    CGRect insetBounds = CGRectInset( self.bounds, 4.0f, 4.0f ) ;
    self.<<the inset subview>>.frame = insetBounds ;
}
于 2013-01-03T23:06:28.140 回答