2011-03-23 3 views
1

인터페이스 빌더를 사용하지 않고 tableview 셀 안에 버튼을 만들려고합니다. 나는 나는 그것이 버튼을 만들기위한 생각이 코드 발견 :Interface Builder없이 tableview 셀 안에 버튼을 만듭니다.

- (void)viewDidLoad { 
[super viewDidLoad]; 

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
button.frame = CGRectMake(270,10,30,30); 
[button setImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside]; 
button.backgroundColor = [UIColor clearColor]; 

} 

을하지만 프로그램 아무것도 실행하지하려고 할 때 시뮬레이터에 표시됩니다. 이 코드로 버튼을 만드는 데 필요한 것이 누락 되었습니까?

답변

1
당신은 셀에 버튼을 추가 할 필요가

은 - 당신이

[cell.contentView addSubview:button] 

를 시도?

버튼의 프레임을 조정하여 contentView 내에 배치하고 버튼의 크기를 올바르게 조정하십시오.

+0

답변 해 주셔서 감사합니다. 내가 제안한 코드를 시도했지만 작동하지 않았습니다. – asadawut

+0

해야합니다. 정말 모든 것을 간단하게 만들고 여기에 표시된 것처럼 하나의 버튼을 셀에 표시하려고 시도한 적이 있습니까? http://stackoverflow.com/q/2633603/189804 –

0

당신은 세포에 버튼을 추가하기위한

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

forwordBtn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [forwordBtn setTitle:@"Forward" forState:UIControlStateNormal]; 

    [forwordBtn addTarget:self 
        action:@selector(forwordButtonPressed) 
     forControlEvents:UIControlEventTouchUpInside]; 
    forwordBtn.frame = CGRectMake(0, 0, 10, 10); 

    [cell.contentview addSubview:forwordBtn]; 
} 
0

당신은 인덱스 데이터 소스 방법에 cellforRow에 모든 코드를 작성해야하고,이 방법에 코드를 추가하지만 우선 테이블보기에 사용자 지정 셀을 추가해야 이 코드 줄을 사용할 수 있습니다.

[cell.contentView addsubview : buttonobject];

button.frame = CGRectMake (10,10,30,30);

투어 버튼의 배경이나 스타일을 변경할 수도 있습니다.

자사의 작업이 우리에게 알려주면 작동하지 않을 것입니다.

귀하의 환영합니다.

관련 문제