0

我正在尝试将带有分页的 UIScrollView 作为标题添加到我的表格中,但不幸的是它没有正确显示。htableHaderView 的大小调整为 my 的大小imagesScrollView,但仅显示一半,其余区域为空白。

- (void)viewDidLoad
{
    [super viewDidLoad];

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


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

}

感谢您的帮助

4

1 回答 1

0

我尝试了以下代码:

视图控制器.h

#import <UIKit/UIKit.h>
@interface ViewController : UITableViewController
@end

视图控制器.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

图像视图控制器.h

#import <UIKit/UIKit.h>
@interface ImagesViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIScrollView *ScrollView;
@property (strong, nonatomic) IBOutlet UIView *ViewInScrollView;
@end

图像视图控制器.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 回答