0

私の場合、テーブルの行にボタンUITableViewを追加したいと思います。これは、 cellForRowAtIndexPathメソッドcustom accessoryViewに追加されたコードです。UITableViewCell

    UIImage *image = [UIImage imageNamed:@"icon.png"];
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 28, 28)]; // tested also initWithFrame:CGRectMake(0, 0, image.size.width, image.size.heigth)
    [UIButton buttonWithType:UIButtonTypeCustom];
    [button setBackgroundImage:image forState:UIControlStateNormal];
    button.backgroundColor = [UIColor clearColor];

    cell.accessoryView = button;
    [button addTarget:self action:@selector(accessoryButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];

これはiOSシミュレーター(iOS5.1およびiOS6.1)で完全に機能し、テーブルの各行の右側にicon.png画像を含むカスタムUIButtonを確認できます。また、カスタム画像をタップしてaccessoryButtonTappedイベントを呼び出すこともできます。しかし、REALデバイス(iOS5.1のiPhone4またはiOS6.1のiPad3rd)でアプリをテストすると、カスタムボタンが表示されません。実際、各行の右側をタップすると、accessoryButtonTappedイベントが呼び出されます。アプリも削除して再インストールしましたが、どうすればよいですか?

4

1 に答える 1

2

メソッドが呼び出されている場合は、ボタンがそこにあることを意味します。問題はあなたの画像にあります。デバイスで実行しているときに、イメージがnilであるかどうか、およびイメージがビルドターゲットに追加されているかどうかを確認します。

于 2013-02-14T09:41:50.010 に答える