Как изменить свойства TableView в UIViewController - PullRequest
0 голосов
/ 06 марта 2012

Я абсолютный новичок в разработке iOS и мне нужно немного помочь:

У меня есть UIViewController с 2 вложенными TableViews. (Реализация вроде здесь )

.h файл

#import <UIKit/UIKit.h>

@interface TabAboutViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> {
}

    @property (nonatomic, strong) NSArray *navigationList;

@end

.m файл

#import "TabAboutViewController.h"

@interface TabAboutViewController ()

@end

@implementation TabAboutViewController

#pragma mark -
#pragma mark Synthesize

@synthesize navigationList;
@synthesize informationTableView;

#pragma mark -
#pragma mark View Load

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    navigationList = [NSArray arrayWithObjects:@"Was leistet die App?",@"Wie wird gemessen?",@"Wie wird ausgewertet?",@"Was sind die Vorteile?",nil];
}

#pragma mark -
#pragma mark View UnLoad

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.

}

#pragma mark -
#pragma mark View Rotates

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

#pragma mark -
#pragma mark Table Management

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return [self.navigationList count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"aboutCell"];
    NSString *cellText = [self.navigationList objectAtIndex:indexPath.row];
    cell.textLabel.text = cellText;

    return cell;
}

@end

Теперь я хочу установить цвет фона для одного из TableViews в UIViewController, но я не знаю, как и где это сделать. я не хочу менять это в раскадровке.

Ответы [ 3 ]

0 голосов
/ 06 марта 2012

Вы можете сделать это в -viewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.myTableView.backgroundColor = [UIColor red];
    // ...
}

И не забудьте добавить IBOutlet к табличному представлению в файле .h, если вы этого еще не сделали, и ссылку на него из Interface Builder:

@property (weak, nonatomic) IBOutlet UITableView *myTableView;

Если вы используете теги для идентификации ваших просмотров, вы можете сделать что-то вроде этого:

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    UITableView *myTableView = [self.view viewWithTag:1]; // Or what ever tag you associate with the table view
    myTableView.backgroundColor = [UIColor red];
    // ...
}
0 голосов
/ 06 марта 2012

Прежде всего вы можете определить цвет фона прямо в файле пера!

Но если вы хотите сделать это на основе кода, убедитесь, что вы подключили представления таблиц в конструкторе интерфейсов к соответствующим IBOutlets в своем файле .h. Чем вы можете получить доступ к этим табличным представлениям в своем коде из любой точки, которую хотите (viewDidLoad или более поздней).

0 голосов
/ 06 марта 2012
- (void)viewDidLoad
{
    self.tableview.backgroundcolor = [UIColor blueColor]; // change color here..


    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    navigationList = [NSArray arrayWithObjects:@"Was leistet die App?",@"Wie wird gemessen?",@"Wie wird ausgewertet?",@"Was sind die Vorteile?",nil];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...