1

この問題に対する答えを探しましたが、成功しませんでした。Groupedスタイルを使用して UITableView を作成しました。これは iPad 用のランドスケープ アプリで、左側 (領域 0、300、20、748) のテーブルのみが必要ですが、設定しtableView.frame = CGRectMake(0, 20, 300, 748)ても何も起こりません。

#import "ViewController.h"

@interface ViewController ()

@property (strong, nonatomic) NSArray *sections;


@end

@implementation ViewController

@synthesize sections = _sections;


- (void)viewDidLoad
{

    UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 20, 300, 748) style:UITableViewStyleGrouped];
    tableView.frame = CGRectMake(0, 20, 300, 748);

    tableView.delegate = self;
    tableView.dataSource = self;
    [tableView reloadData];

    NSArray *first = [NSArray arrayWithObjects:@"first", @"second", @"third", nil];
    NSArray *second = [NSArray arrayWithObjects:@"fourth", @"fifth", @"sixth", nil];

    self.sections = [NSArray arrayWithObjects:first, second, nil];

    self.view = tableView;

}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return [self.sections count];
}


-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [[self.sections objectAtIndex:section] count];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *MyIdentifier = @"MyReuseIdentifier";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier];
    }

    cell.textLabel.text = [[self.sections objectAtIndex:[indexPath section]]objectAtIndex:[indexPath row]];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    tableView.frame = CGRectMake(0, 20, 300, 748);

    return cell;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

テーブルのサイズを変更して、幅が 300 ピクセルのみで左側になるようにする方法を探しています。これがどのように可能かについての提案はありますか?

4

1 に答える 1