0

uibarbutton-Camera スタイルをプログラムで uitableviewcell に追加しようとしていますが、uitableviewcell には何も表示されません

UIButton *newBtn=[UIButton buttonWithType:UIBarButtonSystemItemCamera];
        [newBtn setFrame:CGRectMake(250,10,50,30)];
        [newBtn addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
        [newBtn setEnabled:YES];
        [cell addSubview:newBtn];

しかし、このコードを使用すると、uitableviewcell に丸みを帯びた四角形のボタンが表示されます

  UIButton *newBtn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
        [newBtn setFrame:CGRectMake(250,10,50,30)];
        [newBtn addTarget:self action:nil forControlEvents:UIControlEventTouchUpInside];
        [newBtn setEnabled:YES];
        [cell addSubview:newBtn];

uibarbuttonstyle ボタンを追加する方法はありますか、それとも uitableviewcell に uibutton の丸みを帯びた四角形スタイルを追加することしかできませんか?

4

1 に答える 1

0

UIBarButtonItemと同じではありませんUIButton。からも継承しないUIViewため、サブビューとして他のビューに追加することはできません。電話するとどうなるか

[UIButton buttonWithType:UIBarButtonSystemItemCamera]

UIBarButtonSystemItemCamera定数が に対して無効な値であるためbuttonWithType:、 UIButton は返すボタンのタイプを決定できません。おそらく、空の、構成されていないものまたは を返すだけnilです。

したがって、問題に対する簡単な解決策はありません。たとえば、カメラ バー ボタン アイテムのスクリーンショットを撮り、何らかの画像編集アプリケーションを使用してその画像を抽出し、その画像をカスタムの画像として次のように設定しますUIButton

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setImage:[UIImage imageNamed:@"Camera.png"] forState:UIControlStateNormal];
[cell.contentView addSubview:btn];
于 2013-02-19T06:30:55.013 に答える