如何在UIViewController中更改TableView的属性

时间:2012-03-06 14:26:37

标签: ios xcode uitableview uiview interface-builder

我是iOS开发的初学者,需要一些帮助:

我有一个带有2个嵌套TableView的UIViewController。 (像here

这样的实施

.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

现在我想为UIViewController中的一个TableView设置背景颜色,但我不知道如何以及在何处进行操作。我不想在故事板中改变它。

3 个答案:

答案 0 :(得分:0)

- (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];
}

答案 1 :(得分:0)

您可以在-viewDidLoad

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

并且不要忘记在.h文件中的表视图中添加IBOutlet,如果您还没有这样做并从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];
    // ...
}

答案 2 :(得分:0)

首先,您可以在nib文件中定义backgroundcolor!

但是如果你想要基于代码而不是确定,那么你已经将界面构建器中的tableviews连接到.h文件中的相应IBOutlets。您可以从任何您想要的位置访问代码中的这些表视图(viewDidLoad或更高版本)。