0

コントローラーの背景色の設定を手伝っていただければ幸いです。

奇妙なことに、Xcode 4.5.2 でコードをビルドすると、下の図のようになります。ご覧のとおり、背景色がなくなっています。次の写真のように (黄色) になるはずです。 Xcode 4.5.2 でビルド

Xcode 4.3.3 でコードをビルドすると、下の図のようになります。そして、これはそれがどのように見えるべきかです。 Xcode 4.3.3 でビルド

私のコードは次のようなものです:

------------------InstantCabAppDelegate.m ファイル-----------START-------

//InstantCabAppDelegate.m file

orderController = [[OrderController2 alloc] initWithNibName:@"Order2" bundle:nil];
UINavigationController* firstnavigationController = [[UINavigationController alloc] initWithRootViewController:orderController];

------OrderController2.m ファイル-----------------------START-------

//OrderController2.m file

- (void)viewDidLoad 
{   
    [super viewDidLoad];

    [self.tableView setBackgroundColor:TABLE_VIEW_BACKGROUND_COLOR];
    [self.tableView setSeparatorColor:TABLE_VIEW_SEPARATOR_COLOR];
    [self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];

    self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background-nologo"]];

    UIView *logoParentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 75)];
    UIImageView *logoView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"logo_order_page"]];
    CGRect logoViewFrame = logoView.frame;
    logoViewFrame.origin.x = (self.view.frame.size.width / 2) - (logoViewFrame.size.width / 2);
    logoViewFrame.origin.y = 8;
    [logoView setFrame:logoViewFrame];
    [logoParentView addSubview:logoView];

    self.tableView.tableHeaderView = logoParentView;
    self.tableView.rowHeight = 50;

    [self.navigationController.navigationBar setTintColor:NAVIGATION_BAR_TINT_COLOR];

    [[MyLocation singleton] setDelegate:self];
    [self reset];

    UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.tableView.frame.size.width, 50)];

    UIButton *orderButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [orderButton setFrame:CGRectMake(5, 0, footerView.frame.size.width - 10, 50)];

    [orderButton setBackgroundImage:[UIImage imageNamed:@"yellow_btn"] forState:UIControlStateNormal];
    [orderButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [orderButton setTitle:AMLocalizedString(@"kOrderOrderTaxiAlt", @"") forState:UIControlStateNormal];

    [[orderButton titleLabel] setFont:[UIFont boldSystemFontOfSize:orderButton.titleLabel.font.pointSize]];
    [orderButton addTarget:self action:@selector(checkOrder) forControlEvents:UIControlEventTouchUpInside];
    [footerView addSubview:orderButton];
    [self.tableView setTableFooterView:footerView];

    isShowingModalViewController = NO;
}
4

1 に答える 1

0

Appleサポートからこれを入手しました:

テーブル ビューのスタイルが UITableViewStyleGrouped に設定されている場合、UITableView はそれ自体に背景ビューを適用します。背景ビューは、そのスタイル テーブル ビューに関連付けられた既定のパターンを描画するために使用されますが、設定されているカスタム背景色もカバーします。この背景ビューを削除するには、self.tableView.backgroundView = nil; を呼び出します。viewDidLoad 内から。そうすることで、カスタムの背景色が再び表示されるようになります。

? アップル株式会社 | Apple デベロッパ テクニカル サポート

于 2012-12-11T09:22:56.727 に答える