我正在尝试将子视图添加到UITableView
(是的,不是UITableViewCell
而是UITableView
)。它永远不会显示出来。起初我以为我太早添加它并被细胞覆盖,但事实并非如此。当我已经添加所有单元格时,我尝试将其添加延迟,我尝试将其添加到前面,我尝试将视图添加到tableview的子视图中,但都是徒劳的,它只是从未出现过。这是我的代码:
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
override func viewDidAppear(animated: Bool)
{
super.viewDidAppear(animated)
func c()
{
var v:UIView = UIView(frame:CGRectMake(0.0, 0.0, 40.0, 40.0))
v.backgroundColor = UIColor.greenColor()
v.center = CGPointMake(40.0, 40.0)
tableView!.addSubview(v)
tableView!.bringSubviewToFront(v)
}
delay(5.0, closure: c)
}
有什么想法吗?问题显然与Swift有关,因为在Objective-C中它不会重现
答案 0 :(得分:1)
我在UITableViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
view.backgroundColor = [UIColor redColor];
[self.view addSubview:view];
}
它有效
我注意到您添加了CGRectMake(0.0, 0.0, 40.0, 40.0)
的视图。因此,如果视图控制器中有一个视图,视图可能位于导航栏下面