我创建了一个方法
- (UIView *) drawView:(NSMutableArray *) arrayToDisplay;
如果通过另一种方法调用它,那将是完美的工作,例如
-(void) preperationsBeforeDrawView
。
但是在arrayToDisplay
内部,我有一个循环,如果它找到一个特殊的对象就会被激活。
- (UIView *) drawView:(NSMutableArray *) arrayToDisplay {
[UIView * overAllView = [[UIView alloc] initWithFrame:CGRectZero];
while ([arrayToDisplay containsObject:myObject]) {
NSMutableArray *subArray = [[arrayToDisplay subarrayWithRange:NSRange] mutableCopy];
UIView *result = [self drawView:subArray];
[overAllView addSubView:result];
}
/*
* All the others drawView things
* Create Labels & Views
* add them as subview
*/
[overAllView sizeToFit];
return overAllView;
}
因此,如果while-Loop正在调用[self drawView:subArray]
,则返回的UIView不会调整sizeToFit,即使它具有(width,hight!= 0)的子视图。无论我在drawView
内或之后调用sizeToFit,它都不会显示任何效果。但是第一个名为drawView
的返回的UIView完美地运行:/。
你能告诉我我犯了哪个错误吗?