我已经以编程方式实现了UITableView
并且它工作正常但唯一的问题是,一旦我运行应用程序,它只显示一个白色窗口,然后在大约5-10秒后,它显示tableView。有没有办法让它更快地显示tableView?
这就是我到目前为止所做的:
ACAccountStore *account = [[ACAccountStore alloc]init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[account requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error) {
if (granted == YES) {
_accountNumbers = [account accountsWithAccountType:accountType];
if ([_accountNumbers count] > 1) {
//create a nagigation bar
//create a table view
self.tableView = [self createTableView];
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
[self.view addSubview: self.tableView];
}
- (UITableView *) createTableView {
CGFloat x = 0;
CGFloat y = 50;
CGFloat width = self.view.frame.size.width;
CGFloat height = self.view.frame.size.height;
CGRect tableFrame = CGRectMake(x, y, width, height);
UITableView *tableView = [[UITableView alloc]initWithFrame:tableFrame style:UITableViewStylePlain];
tableView.rowHeight = 45;
tableView.sectionFooterHeight = 22;
tableView.sectionHeaderHeight = 22;
tableView.scrollEnabled = YES;
tableView.showsVerticalScrollIndicator = YES;
tableView.userInteractionEnabled = YES;
tableView.bounces = YES;
tableView.delegate = self;
tableView.dataSource = self;
return tableView;
}
是否有理由延迟显示tableView?
答案 0 :(得分:1)
来自ACAccountStore Class Reference on requestAccessToAccountsWithType:options:completion:
:
在任意队列上调用处理程序。
但是,the "Threading Considerations" section of the UIView Class Reference说:
必须在主线程上对应用程序的用户界面进行操作。因此,您应该始终从应用程序主线程中运行的代码调用UIView类的方法。这可能不是绝对必要的唯一时间是创建视图对象本身,但所有其他操作应该在主线程上发生。
因此,请将您的代码更改为:
if ([_accountNumbers count] > 1) {
dispatch_sync(dispatch_get_main_queue(), ^{
//create a table view
self.tableView = [self createTableView];
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
[self.view addSubview: self.tableView];
});
}
答案 1 :(得分:0)
您似乎正在使用Twitter帐户作为数据源。您是否正在制作需要一些时间才能完成的网络请求,然后在表格中显示结果?您的代码不会在发出请求时显示,也不会显示如何计算或创建单元格。