// ClassFloweSpread
- (UIView *)fl_TheSpread:(NSMutableArray *)fl_UiviewCollection {
UIView *fl_parrentView = [[UIView alloc]initWithFrame:CGRectMake((320/2)-(UINITSIZE/2),
(480/2) - (UINITSIZE / 2),UINITSIZE,UINITSIZE)]; fl_parrentView.backgroundColor = [UIColor yellowColor];
for (int i = 0; i < [fl_UiviewCollection count]; i++) { ((UIView *)[fl_UiviewCollection objectAtIndex:i]).frame = CGRectMake(UINITSIZE*i, 0*i, UINITSIZE, UINITSIZE); [fl_parrentView addSubview:[fl_UiviewCollection objectAtIndex:i]]; } return fl_parrentView;
}
嗨,我没有得到我期待的结果。 我正在发送一个充满UIview对象的数组。该函数将提取它们并将其放在fl_parrentView中。
问题出现了:当我运行它时,只显示forLoop中的最后一个对象。我试图在forLoop中创建其他对象,并且工作正常,所有实例都会出现。
这是创建所有视图并调用函数的测试代码:
NSMutableArray *fl_array = [[NSMutableArray alloc]initWithCapacity:10]; UIView *fl_view = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)]; fl_view.backgroundColor = [UIColor redColor]; [fl_array addObject:fl_view]; [fl_array addObject:fl_view]; [fl_array addObject:fl_view]; NSLog(@"%i", [fl_array count]); ClassFloweSpread *flower = [[ClassFloweSpread alloc]init]; [self.view addSubview:[flower fl_TheSpread:fl_array]];
p.s抱歉糟糕的主题。