自定义iOS InAppSettingsKit在iPhone上提供与模拟器不同的结果

时间:2012-12-08 18:06:14

标签: ios inappsettingskit

我正在尝试更改InAppSettingKit视图控制器的背景颜色。

我尝试过子类化并覆盖cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
    cell.textLabel.backgroundColor = [UIColor redColor];
    cell.detailTextLabel.backgroundColor = [UIColor redColor];
    return cell;
}

我尝试为UIColor创建一个类别:

+ (UIColor *)groupTableViewBackgroundColor {
    return [UIColor redColor];
}

无论我尝试什么,模拟器都会显示正确的(预期)行为,但我的iPhone会显示默认的组表背景。

有关我如何解决这个问题的任何想法?也许这就是我在我的app delegate中创建InAppSettingsViewController实例的方式......?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    IASKAppSettingsViewController *iaskvc = [[IASKAppSettingsViewController alloc] init];
    i = [UIImage imageNamed:@"20-gear-2.png"];
    [[iaskvc tabBarItem] setImage:i];
    [[iaskvc tabBarItem] setTitle:@"Settings"];

    // Create the Toolbar
    UITabBarController *tabBarController = [[UITabBarController alloc] init];
    NSArray *viewControllers = [NSArray arrayWithObjects:iaskvc, nil];
    [tabBarController setViewControllers:viewControllers];

    [[self window] setRootViewController:tabBarController];
    [self.window makeKeyAndVisible];
    return YES;
}

XCode:版本4.5.2(4G2008a) iOS部署目标:5.1 iPhone上的iOS:6.0.1(10A523)

Simulator -- expected iPhone -- customisation not working

1 个答案:

答案 0 :(得分:2)

好的,所以我在SO上阅读了其他内容之后找到了答案,这让我想得更远。

使用以下命令初始化我的子类IASKAppSettingsViewController:

MyAppSettingsViewController *iaskvc = [[MyAppSettingsViewController alloc] initWithNibName:@"MyAppSettingsViewController" bundle:nil];

并添加我自己的xib文件(之前我没有)允许我自定义我需要的所有内容,然后在iPhone上运行良好。