我有幾個子視圖,這些子視圖是根據其超級視圖的大小進行佈局的。我使用自動佈局在這裏,但超圖的大小始終是0,這裏是代碼:根據視圖的高度添加約束iOS
- (instancetype)initWithFrame:(CGRect)frame Count:(NSUInteger)count
{
self = [super initWithFrame:frame];
if (self)
{
self.count = count;
const float circleHeight = self.bounds.size.height * (float)4/(5 * self.count - 1);
NSLog(@"selfHeight %f",self.bounds.size.height);
for (UIImageView * circle in self.circleViewArray)
{
[self addSubview:circle];
}
for (int i = 0;i < self.count;i++)
{
[self.circleViewArray[i] mas_makeConstraints:^(MASConstraintMaker * make){
make.width.equalTo(self);
make.height.equalTo(self).multipliedBy((float)4/(5 * self.count - 1));
make.centerX.equalTo(self);
make.bottom.equalTo(self).with.offset(-i * (circleHeight + stickHeight));
}];
}
}
return self;
}
注意,這裏我使用了第三方砌體簡化我的代碼。 當我在控制檯上打印「selfHeight」時,輸出始終是0.我應該如何處理它?
你在哪裏得到的幀通過? – Wain
我只是通過一個CGRectZero的方法,因爲我在它的超級視圖中自動佈局它 – Caesar
你的圓圈視圖應該如何排列?你可以添加截圖/草圖它應該是什麼樣子? – joern