不更新 subView 的 UIView?
Posted
技术标签:
【中文标题】不更新 subView 的 UIView?【英文标题】:Not updating UIView of subView? 【发布时间】:2013-05-03 11:34:30 【问题描述】:我已经发布了“HERe”。
和Here actually What I need to Deserve
如果我将这部分代码 [self loadLocationView]
放入 UIButton and ViewDidLoad method
, It works fine here.
但每当我从 TableVeiw 选择一个位置并从 configureViewSlider
方法调用时,它会被调用到方法 loadLocationView
但不更新 UI。
到目前为止,我在这里尝试过。
-(void) configureViewSlider
if (_detailItem)
Location=[_detailItem description];
//[self performSelectorOnMainThread:@selector(btnLocations:) withObject:nil waitUntilDone:false];
//[btnLocations sendActionsForControlEvents:UIControlEventTouchDown];
// [self loadLocationView];
[self performSelectorOnMainThread:@selector(loadLocationView) withObject:nil waitUntilDone:NO];
//[self loadView];
NSLog(@"Location %@", Location);
-(void) loadLocationView
_viewLocBangalore.frame= CGRectMake(10, 10, 303,255);
[self.view addSubview:_viewLocBangalore];
// [self.View bringSubviewToFront:_viewlocBangalore];
//[_viewLocBangalore setNeedsDisplay];
我还需要做什么才能实现它。我已经尝试了所有可能的方式。但没用。
请至少提出一些建议,我已经准备好以任何值得我的任务的方式进行处理(即。我添加了一个 UITableVieContrller ,它具有位置,当用户触摸 Location 时,UIView 应该更新)。
【问题讨论】:
通过放置断点检查一次您的 loadLocationView 方法是否在主线程中被调用。 是的,我也在问题中提到过。甚至它正在调用并打印 Log 值。 ok,一次尝试直接放视图,不用过渡动画。 你能告诉我这是什么意思吗[ViewLocations removeFromSuperview]; self.ViewLocations=nil;它会影响任何地方吗? 好的,我刚刚关注并只放置了相关的 SubView 。什么都没发生。如果我从 ViewDidLoad 调用此功能,则可以正常工作。 【参考方案1】:为什么你调用configureViewSlider方法然后loadlocationview方法直接位置选择tableview方法添加这个视图: _viewLocBangalore.frame= CGRectMake(10, 10, 303,255); [self.view addSubview:_viewLocBangalore];
【讨论】:
为了理解目的。但即使它仍然无法正常工作。 检查子视图 NSLog(@"subView:%@",[self.view subviews]);以上是关于不更新 subView 的 UIView?的主要内容,如果未能解决你的问题,请参考以下文章
UIStackView:从xib加载视图和更新subView的高度约束没有反映任何变化?
NSView如何实现类似于UIView中的clipsToBounds功能(即不切割其SubView)