我目前有一个父ViewController,它包含一个子UIViewController(Child)。子UIViewController有一个UITableView。在Child.viewDidAppear上,我调用了TableView.flashScrollIndicators。
由于某种原因,滚动指示灯不闪烁。我注意到如果我调用dispatch_after,第二次传递就会闪现。我一开始认为这是一个尺寸问题,但我不认为就是这样。这似乎是一个布局问题(我使用的是Storybards,iOS 7,没有AutoLayout)。有什么想法吗?
这是我创建Child的代码。
- (void)viewDidLoad {
[super viewDidLoad];
// add it to the heirarchy
if ([[self childViewControllers] count] == 0) {
[self setViewControllers:[[NSMutableArray alloc] init]];
ProductSelectionViewController *destination = (ProductSelectionViewController *)[[self storyboard] instantiateViewControllerWithIdentifier:@"ProductSelectionViewController"];
[self addChildViewController:destination];
// present the child
[destination didMoveToParentViewController:self];
[[self containerView] addSubview:[destination view]];
[[self viewControllers] addObject:destination];
[destination setDelegate:self];
}
}
答案 0 :(得分:1)
对我而言,它致电
[self performSelector: @selector(flashScrollIndicators) withObject: nil afterDelay: 0];
而不是
[self flashScrollIndicators];
在视图的didMoveToWindow
方法中或在其视图控制器的viewDidAppear
中。希望这可以帮助人们解决同样的问题。