在下面的代码中,当我点击一个按钮时,我会推送一个新的UITableView。 TableView有25行。我可以看到第9行和第10行被切断了。我无法向下滚动以查看其余行。如何使TableView可滚动?谢谢。
- (IBAction)showListPicker:(id)sender {
ListPicker *lp = [[ListPicker alloc] initWithStyle:UITableViewStyleGrouped];
[self setTitle:@"Home"];
[[self navigationController] pushViewController:lp animated:YES];
[lp release];
}
以下是ListPicker的声明
#import <Foundation/Foundation.h>
@interface ListPicker : UITableViewController
{}
@end
以下是ListPIcker
的实现#import "ListPicker.h"
#import "GameStore.h"
#import "List.h"
#import "HomeViewController.h"
@implementation ListPicker
- (id)init
{
return [super initWithStyle:UITableViewStyleGrouped];
}
-(id)initWithStyle:(UITableViewStyle)style{
return [self init];
}
-(void)dealloc{
[super dealloc];
}
-(void)viewDidLoad{
[self setTitle:@"Select List"];
[[self navigationController] setNavigationBarHidden:NO];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [[[GameStore defaultStore] allLists] count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UITableViewCell"];
if(cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"UITableViewCell"] autorelease];
}
NSArray *allList = [[GameStore defaultStore] allLists];
List *mylist = [allList objectAtIndex:[indexPath row]];
NSString *listTitle = [mylist label];
[[cell textLabel] setText:listTitle];
[cell setAccessoryType:UITableViewCellAccessoryNone];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
List *list = [[[GameStore defaultStore] allLists] objectAtIndex:[indexPath row]];
[[GameStore defaultStore] setSelectedList:list];
HomeViewController *hv = [[HomeViewController alloc] init];
[[self navigationController] popViewControllerAnimated:YES];
}
@end
答案 0 :(得分:2)
尝试添加:
yourTable.scrollEnabled = YES;
此外,当您以编程方式创建表时,请确保它“足够长”,即
CGRect cgRct = CGRectMake(0, 0, 320, 600);
yourTable = [[UITableView alloc] initWithFrame:cgRct style:UITableViewStyleGrouped];
答案 1 :(得分:1)
代替 YES ,写下 true ,因为它只接受bool值。
yourTable.scrollEnabled = true;
答案 2 :(得分:1)
更改UITableView中滚动的布尔状态的两种常用方法:
1)可以通过Storyboard在UITableView的属性检查器中启用它。
2)或通过ViewController以编程方式在viewDidLoad()中。
import UIKit
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
@IBOutlet var yourTable: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// assign delegate and datasource
yourTable.delegate = self
yourTable.dataSource = self
//enable UITableView scrolling in Swift 3 and Swift 4.
yourTable.isScrollEnabled = true
}
}