Search code examples
iphonecocoa-touchinterface-builder

How can I implement a "double" UITextField?


I am trying to generate a UITextField in a view like this. I don't mind using IB or doing it programmatically.

alt text
(source: echofon.com)


Solution

    1. New File(Cocoa Touch Class -> UIViewController subclass) UITableViewController subclass, With XIB for interface(check both)
    2. open Xib file
    3. change the view style(plain->group) on Attributes Inspector(apple key + 1)
    4. add following code in .m file
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
        return 1;
    }
    
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        return 2;
    }
    
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
        static NSString *CellIdentifier = @"Cell";
    
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        }
    
        if(indexPath.row == 0) {
            cell.textLabel.text = @"Username";
            UITextField *field = [[[UITextField alloc] initWithFrame: CGRectMake(120, 10, 180, 30)] autorelease];
            [cell addSubview:field];
    
        }
        else if(indexPath.row == 1) {
            cell.textLabel.text = @"Password";
            UITextField *field = [[[UITextField alloc] initWithFrame: CGRectMake(120, 10, 180, 30)] autorelease];
            field.secureTextEntry = YES;
            [cell addSubview:field];
        }
    
        return cell;
    }
    
    - (NSString *)tableView: (UITableView *)tableView
    titleForHeaderInSection: (NSInteger)section 
    {
        return @"Account";
    }
    
    - (NSString *)tableView: (UITableView *)tableView
    titleForFooterInSection: (NSInteger)section 
    {
        return @"If you don't have a twitter account, go to twitter.com to sign up.";
    }