Как удалить динамически размещенные подпредставления из scrollview - PullRequest
0 голосов
/ 22 января 2012

Я хочу удалить подпредставления, выделенные динамически для представления циклической прокрутки.код м попыток:

for (int i=0; i<[appDelegate.NO_KPI count]; i++) {
static float j = 0;     
roc_temp = [[UIView alloc]init];
roc_temp.frame = CGRectMake(81, 57 + j, 193, 119);
label1 = [[UILabel alloc] init];
label1.frame =CGRectMake(0, 0, 193, 26);
label1.text = @"Budget";
[roc_temp addsubview:label1];
[scrollview addSubview:roc_temp];

roc_temp1 = [[UIView alloc]init];
roc_temp1.frame = CGRectMake(318, 57 + j, 193, 119);
label11 = [[UILabel alloc] init];
label11.frame =CGRectMake(0, 0, 193, 26);
label11.text = @"Actual";
[roc_temp1 addsubview:label11];
[scrollview addSubview:roc_temp1];
j+=166;
}

1 Ответ

0 голосов
/ 22 января 2012

Для начала: вы должны освободить ваши новые подпредставления, так как -addSubview: сохраняет их, и, следовательно, вы вызываете утечку памяти.

Чтобы ответить: установите свойство «tag» для подпредставлений, напримерэто:

roc_temp.tag = 1000 * j;

и затем удалите с помощью этого кода:

[[scrollView viewWithTag:1000] removeFromSuperview];
...