我想创建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的应用程序。
答案 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];