0

UIButton を tableView に追加しようとしていますが、次のようにすると:

UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frameWidth, 200)];

UIButton *addSource = [UIButton buttonWithType:UIButtonTypeCustom];
[addSource addTarget:self action:@selector(addBoard:) forControlEvents:UIControlEventTouchUpInside];
[addSource setImage:[UIImage imageNamed:@"addsource.png"] forState:UIControlStateNormal];
[addSource setBackgroundColor:[UIColor grayColor]];
[headerView addSubview:addSource];

self.tableView_.tableHeaderView = headerView;

そこに UIButton が表示されませんでした。UILabel を使用しようとすると、そこにあります。どうしてこれなの?

4

6 に答える 6

1

このコードを使用してください...

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{

     UIButton *headername = [[UIButton alloc]initWithFrame:CGRectMake(20, 5, 270, 34)];
     headername.backgroundColor = [UIColor greenColor];

     UIView *headerView = [[UIView alloc] init];
     UIImageView *tempimage = [[UIImageView alloc]initWithFrame:CGRectMake(10, 5, 300,34)];
     tempimage.image = [UIImage imageNamed:@"GrayButton.png"];
     [headerView addSubview:tempimage];
     [headerView addSubview:headername];
     return  headerView;

}
于 2012-04-30T06:29:04.997 に答える
1
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
     UIButton *name = [[UIButton alloc]initWithFrame:CGRectMake(30, 10, 120, 45)];
     name.backgroundColor = [UIColor greenColor];
     UIView *header = [[UIView alloc] init];
     UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(30, 10, 200,45)];
     image.image = [UIImage imageNamed:@"Button.png"];
     [header addSubview:image];
     [header addSubview:name];
     return  header;
}
于 2012-04-30T07:04:14.437 に答える
1

addSource ボタンにフレームがありません。

于 2012-04-30T06:24:29.357 に答える
0

これをお試し下さい

UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 45)];

に置き換えます

UIButton *addSource = [UIButton buttonWithType:UIButtonTypeCustom];

これにより、ヘッダービューに幅100、高さ45の0ポイントのボタンが表示されます。これはあなたを助けます

于 2012-04-30T06:31:13.147 に答える
0

ur ボタンのフレームを設定します。ur ボタンのデフォルト フレームは CGRectZero になります。幅と高さの両方がゼロになります。そのフレームを相対位置に描画するように設定します。

于 2012-04-30T06:39:11.067 に答える
0
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{        
    UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0,0, 320, 44)] autorelease]; 

    UIButton *addSource = [UIButton buttonWithType:UIButtonTypeRoundedRect];    
    addSource.frame = CGRectMake(80.0, 0, 160.0, 40.0);
    [addSource setTitle:@"rep" forState:UIControlStateNormal];
    [addSource addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchDown];        

    [headerView addSubview:addSource];
    return headerView;    
}

また、実装することを忘れないでください。

tableView:heightForHeaderInSection: 
于 2012-04-30T06:39:47.040 に答える