iOS SDK: стилизация UITableView - PullRequest
       1

iOS SDK: стилизация UITableView

0 голосов
/ 16 ноября 2011

Я искал от минимума до решения этой проблемы.Я не могу найти, почему стиль из моего пера не загружается?Если я что-то изменяю в перьях, функционирование прекращается.Итак, я прибег к переопределению стиля.

У меня есть:

- (id)initWithCoder:(NSCoder *)inCoder
{
    self = [super initWithStyle:UITableViewStyleGrouped];
    if (self) {
        // Custom initialization
    }
    return self;
}

Это на втором контроллере представления, поэтому следует из rootviewcontroller.Я бы предпочел исправить это по-другому, но если мне придется переопределить это, я могу.

Итак, таблица теперь сгруппирована, но как я могу программно изменить цвет фона представления?

Любойпомощь приветствуется.

Ps.Для первоначальной проблемы у меня есть 3 пера: MainWindow.xib, RootViewController.xib и CollectionsViewController.xib, созданный с помощью этого урока: http://www.techotopia.com/index.php/Creating_a_Navigation_based_iOS_4_iPhone_Application_using_TableViews#Setting_up_the_Data_in_the_Root_View_Controller

Первая таблица стилизована с использованием RootViewController.xib, но с изменением CollectionsViewController.xib ничего не делает.

Приветствия, Рис

РЕДАКТИРОВАТЬ: Есть с:

self.tableView.backgroundColor = [UIColor blackColor];
self.parentViewController.view.backgroundColor = [UIColor colorWithRed:0.0 green:0.2 blue:0.5 alpha:0.7];

Ответы [ 2 ]

0 голосов
/ 16 ноября 2011

Чтобы изменить цвет фона представления «Таблица», необходимо изменить дизайн таблицы.В свой заголовок viewcontroller добавьте следующий код и на IB подключите IBOutlet:

@interface TableController : UIViewController <UITableViewDelegate> {

    UITableView *tableView;
}

@property (nonatomic, retain) IBOutlet UITableView *tableView;

, а в своем файле реализации добавьте viewDidLoad:

- (void)viewDidLoad {


    CGFloat tableBorderLeft = 25;
    CGFloat tableBorderRight = 15;
    CGFloat tableBorderUP = 10;

    CGRect tableRect = self.view.frame;
    tableRect.origin.x += tableBorderLeft; // make the table begin a few pixels right from its origin
    tableRect.origin.y += tableBorderUP;
    tableRect.size.width -= tableBorderLeft + tableBorderRight; // reduce the width of the table
    tableView.frame = tableRect;

    tableView.backgroundColor = [UIColor clearColor];
    tableView.separatorColor = [UIColor whiteColor];    
    tableView.opaque = NO;
    tableView.backgroundView = nil; 

    [super viewDidLoad];        
}

Надеюсь, что это работает для вас

0 голосов
/ 16 ноября 2011

если вы переопределите initWithCoder: метод, вы должны вызвать его супер версию, которая отвечает за декодирование данных файла пера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...