0

テーブルにページングをヘッダーとして使用してUIScrollViewを追加しようとしていますが、残念ながら正しく表示されません。htableHaderViewは私のサイズにサイズ変更さimagesScrollViewれますが、残りの領域は空白で表示されます。

- (void)viewDidLoad
{
    [super viewDidLoad];

    ImagesViewController *imagesScrollView = [[ImagesViewController alloc] initWithNibName:@"ImagesViewController" bundle:nil];


    tableView.tableHeaderView = imagesScrollView.view;
    imagesScrollView = nil;

}

助けてくれてありがとう

4

1 に答える 1

0

次のコードを試しました:

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でショック/ストラットを確認する必要があるのではないかと思います。適切に表示するために必要なすべての余白と幅が固定/柔軟であることを確認してください。

于 2012-05-08T23:23:53.250 に答える