Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>This most likely happens because your switch is only creating the views for index path (0,0), other index paths are not created...</p> <p>also you are using cells wrong 1 cell identifier per row, per section? this is not reusing any cell at all (it's not bad but it could be better, arrange by type, etc)</p> <p>Try with this.. cell reuse is wrong Hope to hear from you</p> <p>EDIT:</p> <p>Okay I got it... what happens is that you are only creating elements for the first cell... for the very first cell only (section 0,row 0) you create EVERY CONTROL, and add them as subviews with some offset (that so happens is equal to the label height) this is WRONG.</p> <p>At the very moment the first row is no longer visible, all your controls disappear (remember they are created for the first row only (they look like they are on other cells but thats because you are pasting them out of the cells bounds...)</p> <p>What you should be doing is.</p> <pre><code>YourClass *object = [parBusResponseWebServ.controlsList objectAtIndex:indexPath.row]; //With this object you can create the text if ([[object tipoControl] isEqualToString:@"TX"]) { UILabel *label = [functions createLabel:[object textoControl] locationX:locationXLabel locationY:locationYLabel labelWidth:widthLabel labelHeight:30 numLabelTag:tagControls labelAdjustment:UIViewAutoresizingFlexibleRightMargin]; UITextField *textfield = [functions createTextField:@" " locationX:locationXControl locationY:locationYControl textFieldlWidth:150 textFieldHeight:30 keyboardType:UIKeyboardTypeDefault placeholderText:[[object requerido] isEqualToString:@"TRUE"] ? @"Requerido***" : @"Introduce Texto" numTextFieldTag:tagControls textFieldAdjustment:UIViewAutoresizingFlexibleWidth]; tagControls += 1; [cell addSubview:label]; [cell addSubview:textfield]; [self.controlsArray addObject:textfield]; } </code></pre> <p>Or something like that... also if i can persuade you of this kind of programming... you should not be using labels but the ones that are already on the cell</p> <pre><code>/*Prior to anything, create a NSMutableDictionary to hold the textfields that you are creating*/ self.textFieldDictionary = [[NSMutableDictionary alloc]init]; </code></pre> <p>On cellForRow</p> <pre><code>//Use only one reuse identifier (much quicker and less memory intensive) static NSString *reuseIdentifier = @"cell"; UITableViewCell *cell = tableView dequeue.... if(!cell) { cell = [UITableViewCell alloc]initWithStyle:.... } //Remove any other textfield for (UIView *view in cell.contentView.subviews) [view removeFromSuperview]; cell.textLabel.text = [object textoControl]; /*Recover previously created TEXTFIELD*/ NSString *key = [[NSNumber numberWithInt:indexPath.row]stringValue]; UITextField *textField = [self.textFieldDictionary objectForKey:key]; if(!textField){ textField = /*Create textfield*/ [self.textFieldDictionary setObject:textField forKey:key] } [cell.contentView addSubview:textField] return cell; </code></pre> <p>This way you put an element PER row, not all elemnts on a single row (in which case if the row dissapears so will the other elements)</p> <p>I gave the best answer i can give you... and i hope you use indexPath.. it's your friend (or worst enemy)</p> <p>Saludos y espero estes bien!</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload