开发者

iOS: Table-style TextField for Login Screen?

开发者 https://www.devze.com 2023-04-12 21:02 出处:网络
I wanna make a login screen like the one from Facebook\'s app. The part I wanna replicate is the two text fields that when stacked look like a table group. I can\'t figure out how they did it though.

I wanna make a login screen like the one from Facebook's app. The part I wanna replicate is the two text fields that when stacked look like a table group. I can't figure out how they did it though.

Who knows the trick?

I can't post a picture because I am new to stackoverflow. It's an effect that they seem like one rounded oval but with 2 text fi开发者_开发技巧elds inside. One for username, one for password.


you can use the below code.

//in .h file

UITextField *loginId; 
UITextField *password ;

//in .m file

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
        return 2;
    }
    - (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath {

        UITableViewCell *cell = [table dequeueReusableCellWithIdentifier:@"Cell"];
        if( cell == nil)
            cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"] autorelease];   

        if (indexPath.row == 0) {
            loginId = [[UITextField alloc] initWithFrame:CGRectMake(5, 0, 280, 21)];
            loginId .placeholder = @"loginid";
            loginId .autocorrectionType = UITextAutocorrectionTypeNo;
            [loginId setClearButtonMode:UITextFieldViewModeWhileEditing];
            cell.accessoryView = loginId ;
        }
        if (indexPath.row == 1) {
            password = [[UITextField alloc] initWithFrame:CGRectMake(5, 0, 280, 21)];
            password.placeholder = @"Password";
            password.secureTextEntry = YES;
            password.autocorrectionType = UITextAutocorrectionTypeNo;
            [password setClearButtonMode:UITextFieldViewModeWhileEditing];
            cell.accessoryView = password;
        }
        loginId.delegate = self;
        password.delegate = self;


        [tableView1 addSubview:loginId];
        [tableView1 addSubview:password];
        [loginId release];
        [password release];

        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        return cell;  
    }
    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{

        return 1;
    }


Take the code from here: https://github.com/c99koder/lastfm-iphone

if you download the code and look into the FirstRunView.xib you will see the same implementation as desired.


Ah! I got the answer. It's just art. It's an UIImage that looks like a 2 cell tableview with borderless UITextFields. Why do I never guess it's art?


Just use a UIVIew with rounded corners for the background and add the two text fields as sub views.


You can take a UITableView and add UITextField as accessoryType for your purpose.

0

精彩评论

暂无评论...
验证码 换一张
取 消