我希望在查看UIScrollView
之后使用detailController
左右翻页。
首先,main.m
:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
OZDetailViewController *detailViewController = [[OZDetailViewController alloc] initWithNibName:@"OZDetailViewController" bundle:nil];
detailViewController.arrDetailNews = [_arrNews objectAtIndex:indexPath.row];
[self.navigationController pushViewController:detailViewController animated:YES];
OZDetailViewController *arrNewsAll = [[OZDetailViewController alloc] initWithNibName:@"OZDetailViewController" bundle:nil];
arrNewsAll.allNewsArray = _arrNews;
[self.navigationController pushViewController:arrNewsAll animated:YES];
}
当我选择tableviewcell
中的内容时,arrDetailNews
可以加载方法viewDidLoad()
和cellForRowAtIndexPath()
。但arrNewsAll
无法在方法cellForRowAtIndexPath()
中加载。
这是我的detailViewController.h
:
@property (nonatomic, copy) NSArray *allNewsArray;
detailViewCOntroller.m
:
@synthesize allNewsArray;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.tableView.separatorColor = [UIColor clearColor];
NSLog(@"dataArray: %@", allNewsArray);
}
- (int)numberINSectionsInTableView: (UITableView *)tableView
{
return 1;
}
- (int)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 4;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"dataArrayCell: %@", allNewsArray);
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"New Cell"];
}
if(indexPath.row != self.arrDetailNews.count-1){
UIImageView *line = [[UIImageView alloc] initWithFrame:CGRectMake(0, 44, 320, 2)];
line.backgroundColor = [UIColor whiteColor];
[cell addSubview:line];
}
tableView.allowsSelection = NO;
cell.textLabel.text = [NSString stringWithFormat:@"%u", indexPath.row];
if (indexPath.row==0) {
cell.textLabel.text = @"1st";
}
if (indexPath.row==1) {
cell.textLabel.text = @"2nd";
}
if (indexPath.row==2) {
cell.textLabel.text = @"3rd";
}
return cell;
}
如果可以在allNewsArray
中加载cellForRowAtIndexPath()
,我可以继续使用UIScrollView
进行分页。请注意,numberOfRowsInSection
我设置为4
,因为我需要4
行(自定义视图)。
答案 0 :(得分:1)
假设您设置了代表&从xib / storyboard正确地输出dataSource,你仍然需要指定每个部分的行数(或部分的数量)。
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return allNewsArray.count;
}
或者,部门数量的方法是:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;