如果一个方法被自己调用,UIView不会调整大小

时间:2017-05-20 13:16:06

标签: ios objective-c

我创建了一个方法 - (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完美地运行:/。

你能告诉我我犯了哪个错误吗?

0 个答案:

没有答案