UITableView中的按钮

时间:2012-03-29 14:09:18

标签: ios uitableview uibutton

我想创建UITableView,其中一些单元格是按钮。 帮帮我,做正确的方法是什么?

1)我可以使用类似的东西:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
         cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
}

if (indexPath.section == 1){
    if (indexPath.row == 0){


         UIButton* loginButton = [[UIButton alloc] initWithFrame:CGRectMake(9,1,302, 48)];
        [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton.png"] forState:UIControlStateNormal];
        [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton_pressed.png"] forState:UIControlStateSelected];
        [loginButton setTitle:@"Login" forState:UIControlStateNormal];
        [cell setBackgroundColor:[UIColor clearColor]];

        [cell addSubview:loginButton];
        [loginButton release];




    }
}

但是我看到按钮是透明的,看起来很奇怪。

2)不要使用任何UIButton并使用UITableViewCells完全制作我想要的东西

非常感谢你的关注,我对iOS来说是全新的,但我正在努力创建没有xib的应用程序。

1 个答案:

答案 0 :(得分:1)

你没有设置按钮类型,它是只读属性。所以你不能直接指定它所以改变你的代码如下:

        UIButton* loginButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        [loginButton setFrame:CGRectMake(5,5,302, 34)];
        [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton.png"] forState:UIControlStateNormal];
        [loginButton setBackgroundImage:[UIImage imageNamed:@"LoginButton_pressed.png"] forState:UIControlStateSelected];
        [loginButton setTitle:@"Login" forState:UIControlStateNormal];
        [cell setBackgroundColor:[UIColor clearColor]];
        [cell addSubview:loginButton];