这是我的问题,我在我的容器视图中添加了一个子视图,而container view
的大小为(0,0),我希望我的subview
的固定边距长度为4(我的container view
中的top,right,left,bottom)。我可以在没有自定义layOutSubviews
方法的情况下实现此目标。
我的代码就像是
- initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
mySubview = [[UIView alloc] init];
//how to code here????
[myContainerView addSubview:mySubview];
}
return self;
}
答案 0 :(得分:1)
在iOS 6中,您应该可以使用约束来执行此操作,但在iOS 6之前,我不建议在具有非零帧之前添加子视图,或者如果您这样做,我建议使用{{1} } 要解决这个问题。在零尺寸的盒子里面只有4点边距是不可能的,因此它永远不会使用弹簧和支柱正确自动调整。
答案 1 :(得分:0)
- initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
mySubview = [[UIView alloc] init];
mySubview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[myContainerView addSubview:mySubview];
}
return self;
}
答案 2 :(得分:0)
Rob Napier说的话......你自己-layoutSubviews
会很简单:
-(void)layoutSubviews
{
[ super layoutSubviews ] ;
CGRect insetBounds = CGRectInset( self.bounds, 4.0f, 4.0f ) ;
self.<<the inset subview>>.frame = insetBounds ;
}