1

ツールバーにカスタム ボタンを追加し、プロパティ setEnabled:NO を設定しましたが、SDK 4.0 を使用してビューを読み込んだときにボタンがグレー表示されません。ただし、同じコードが SDK 3.1.2 でコンパイルされている場合、ボタンはグレー表示されます。何か案は?

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];

    UIImage* pImage = [UIImage imageNamed:@"Test.png"];

    CGRect TestBtnFrame = CGRectMake(0, 0, pImage.size.width, pImage.size.height);
    UIButton* pTestBtn = [[UIButton alloc] initWithFrame:TestBtnFrame];

    [pTestBtn setTitle:@"  Test" forState:UIControlStateNormal];
    [pTestBtn addTarget:self action:@selector(OnTestBtnClick)   forControlEvents:UIControlEventTouchUpInside];      
    [pTestBtn setBackgroundImage:image forState:UIControlStateNormal];

    // [pTestBtn setEnabled:NO];     

    // Class member variable to be released in dealloc
    m_pTestBarBtn = [[UIBarButtonItem alloc] initWithCustomView: pTestBtn];
    [pTestBtn release]; 

    [m_pTestBarBtn setEnabled:NO];

    [self setToolbarItems:[NSArray arrayWithObjects: m_pTestBarBtn, nil] animated:YES];

}
4

1 に答える 1

0

無効状態の背景画像を設定するのを忘れていました...

[ pTestBtn setBackgroundImage: **imageDisabled** forState: UIControlStateDisabled ];
于 2011-02-27T18:09:48.247 に答える