次のコードを試しました:
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UITableViewController
@end
ViewController.m
#import "ViewController.h"
#import "ImagesViewController.h"
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
ImagesViewController *imageVC = [[ImagesViewController alloc] initWithNibName:@"ImagesViewController" bundle:nil];
[[self tableView] setTableHeaderView:[imageVC view]];
imageVC = nil;
}
@end
ImagesViewController.h
#import <UIKit/UIKit.h>
@interface ImagesViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIScrollView *ScrollView;
@property (strong, nonatomic) IBOutlet UIView *ViewInScrollView;
@end
ImagesViewController.m
#import "ImagesViewController.h"
@implementation ImagesViewController
@synthesize ScrollView;
@synthesize ViewInScrollView;
- (void)viewDidLoad {
[super viewDidLoad];
[[self ViewInScrollView] setFrame:CGRectMake(0, 0, 768 * 2, 400)];
[[self ViewInScrollView] setBackgroundColor:[UIColor orangeColor]];
[[self ScrollView] setContentSize:[[self ViewInScrollView] frame].size];
}
@end
ImagesViewController
の xib は、幅 768 x 高さ 200 のビューです (iPad ベースのUITableView
シングルビュー アプリケーションを作成しました)。その中にview
がありUIScrollView
、エリア全体を占めるように設定されています[view frame]
。それから私はそれのUIView
中に入れます。
私のテストでは、オレンジ色の長方形のヘッダーが表示され、期待どおりにスクロールできます。imagesScrollView
これにより、Interface Builderでショック/ストラットを確認する必要があるのではないかと思います。適切に表示するために必要なすべての余白と幅が固定/柔軟であることを確認してください。