0

我有一个带有 2 个选项的选项,在下面我有一个用作放置我的自定义的容器UIViewController(实际上是 a )。在段之间切换时,我想在 2 个不同的段之间切换UISegmenetedControlUIViewUIViewUITableViewUITableViews.

我的问题是UITableView. 我创建了一个自定义UIView类,.xib并在里面放了一个UITableView,我能够将数据填充到表中并正确查看它。

问题在于滚动,它对垂直滚动根本没有反应!

这是我UIView使用它的表创建的方法。

.h文件

@interface LeaderboardTableView : UIView

@property (strong, nonatomic) IBOutlet UIView *view;

@property (strong, nonatomic) IBOutlet UITableView *tableView;

@property (strong, nonatomic) NSDictionary *myScore;

@property (strong, nonatomic) NSArray *players;


- (id)initWithBoardType:(LeaderboardType)boardType myScore:(NSDictionary*)myScore leaderboardData:(NSArray*)data;

@end

.m 文件

@implementation LeaderboardTableView

- (id)initWithBoardType:(LeaderboardType)boardType myScore:(NSDictionary*)myScore leaderboardData:(NSArray*)data {

    self = [super init];
    if(self) {

        _players = data;
        _myScore = myScore;
        _boardType = boardType;

        self.tableView.delegate = self;
        self.tableView.dataSource = self;
    }

    return self;

}

- (id)initWithFrame:(CGRect)frame {

    self = [super initWithFrame:frame];
    if(self) {
        [self setup];
    }

    return self;
}

- (void)setup {

    [[NSBundle mainBundle] loadNibNamed:@"LeaderboardTableView" owner:self options:nil];
    [self addSubview:self.view];
}

这是我的 .XIB

在此处输入图像描述

我究竟做错了什么??我怀疑我的UITableView居住地UIView,这就是为什么我不能滚动但我不知道如何解决这个问题。

谢谢!

4

3 回答 3

1

假设您使用initWithBoardType:myScore:leaderboardData:实例化视图,请尝试更改:

self = [super init];

经过

self = [self initWithNibName:@"LeaderboardTableView" bundle:[NSBundle mainBundle]];

在这个方法中。

但不确定它是否会解决您的滚动问题。看起来你的桌子上有一个“不可见的”视图。
让我知道你如何展示你的观点。

于 2013-10-30T10:18:21.297 回答
1

一个更好的主意是使用一个表格视图并为每个不同的 UISegmentedControl 点击切换数据源。

于 2013-10-30T19:12:31.977 回答
0

最后,在 zbMax 的帮助下,我终于解决了这个问题!

最终,我使用 XIB 将我的自定义表作为 UITableViewController 的子类。我实现了填充单元格的所有逻辑并将这个 TableView 嵌入到我的父视图控制器中,这样我可以在表的 2 个视图之间切换。

于 2013-10-30T18:51:20.347 回答