问题标签 [setneedsdisplay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - UIPickerView 不会立即重绘未选中的行
我有一个特殊UIPickerView
的地方,通过点击它手动选择行。发生这种情况时,所选行的样式会更改(文本颜色更改并显示带有复选标记的图像)。同样,如果选择了另一行,则先前选择的行被“取消选择”,即它的样式更改为正常。
现在,当我选择一行时,它看起来是正确的:
但是,当我滚动到另一行并且所选行不再位于中间时,不会应用新样式(应在此处选择 Antarktis):
但是,如果我进一步向下滚动几行然后备份它会将行更新为正确的样式:
取消选择时我有同样的问题。如果我选择另一行,旧行似乎没有被取消选择,我得到了这个(现在应该取消选择 Antarktis):
但是,如果我将 Antarktis 行向后滚动到中间,它确实被取消选择了。所以我的问题是UIPickerView
不会立即重绘可见但不在中间的行(它们可能以某种方式缓存)。它们仅在特定行消失然后返回或显示全新行时才会重绘。
那么我可以强制它重绘那些行吗?我尝试在和特定行(它们是 的子类)上调用该setNeedsDisplay
方法,但它什么也没做。UIPickerView
UITableViewCell
谢谢!
ios - UIViews SetNeedsDisplay 未调用
新手警告!: ) 我的应用程序中有多个视图,所有视图都设置在故事板中,并且都有自己的子类 UIView 类和自己的覆盖 drawRect 方法。其中一个用作按钮,并且能够通过 setneedsdisplay 重绘自身并调用另一个 UIViews 类的函数:
现在的问题是该函数中的 setNeedsDisplay 不起作用,即使调用了 updateModell 函数:
所以我用谷歌搜索和搜索,但就是不知道出了什么问题。是的,这是我使用 Swift 和 iOS 的第一周……
subview - 将子视图中的Objective C drawRect添加到超级视图和setNeedsDisplay后未调用
我有一个视图:DragView和一个视图:GameAreaView,并在GameViewController中声明GameAreaView。
问题是我的自定义子视图: DragView 没有按预期绘制矩形,在超级视图中没有绘制任何内容。
游戏视图控制器.m
游戏区视图.m
DragView.m -(id) initwithFrame::(CGRect)frame
但是如果我将 initwithFrame更改为initwithImage
GameAreaView中显示图像的子视图,没有使用drawRect。
我也尝试过使用setNeesDisplayInRect,没有任何变化。
为什么使用 -(id)initwithFrame 时DragView.m中的 drawRect没有被调用?为什么会发生这种情况?以及如何解决?
ios - Swift-NSTimer & setNeedDisplay
我想知道如何在 swift.thank 中编写上面的代码。
ios - 调用 setNeedsDisplay 时的 Swift 奇怪行为
我正在制作一个模拟发动机油门的应用程序。当我滑动 UISlider 时,我希望 RPM 量规指针增加并且 RPM 量规内的 UILabel 更新。除了一个奇怪的部分外,我的一切都正常工作:UILabel 中的文本会覆盖自身(即,它会将自身绘制在自身之上,因此所有值都相互叠加并且不可读)。这是我的 ViewController 中的滑块代码:
然后在 compactEngineView 本身:
指针完美运行。没什么好抱怨的。但是每次我移动滑块时,文本都会自动覆盖。DrawRect 部分中的 UILabels 有单独的技巧吗?谢谢!
ios - 如果我经常调用 setneedsdisplay,drawrect 多久会被调用一次?这是为什么?
就我而言,在drawRect:
调用每个单曲后不会立即setNeedsDisplay
调用。例如,我认为以下代码与我的情况相同。
ios - 使用 setNeedsDisplay 重新加载 Tableview 不起作用
我在视图中有一个表格视图,其中列出了将执行的所有步骤。我想在执行步骤时显示一个已标记的步骤。我面临的问题是表格视图在程序执行完所有步骤之前不会刷新。因此,所有步骤同时显示为标记。
这是我的功能,当用户按下按钮时开始运行:
MyView 是视图 IBOutlet。MyTableView 是表视图 IBOutlet。我也试过 [self.view setNeedsDisplay] 和 [self.view setNeedsDisplay]。MyTableView setNeedsDisplay] 但这也不起作用。我还尝试从表格视图中获取单元格并对单元格本身进行更改。在程序完全执行完成之前,什么都不会刷新...
有人可以告诉我我做错了什么吗?我是 iOS 开发的新手,我搜索、阅读、尝试过……但到目前为止还没有找到答案。
ios - 重新加载 UIView 和 UILabel 框架
我在 nib 文件中有两个UILabels
和一个。UIView
这个笔尖是我的collectionView
. 在我的viewForSupplementaryElementOfKind:
方法中,我需要更改这三个对象的框架。它们正在根据header.personCollege
标签的大小进行更改。
问题是,setNeedsDisplay
不改变框架。框架仅在调用 后更改reloadData
。我需要立即改变框架。我也在使用自动布局。
ios - 如何在 SWIFT 中重绘我的视图?
在我的 iPad 应用程序上,我有一个 UIViewController 和一个打开 modalView 的按钮。
当我用dismissViewControllerAnimated关闭modalView时,我想“刷新”我的视图控制器(因为我添加了新内容)。但由于模态视图是“表单”样式,因此不会调用 viewDidAppear 或 viewWillAppear。
我尝试使用 setNeedsDisplay,但它不起作用。
我不知道该怎么做。
ios - JSON请求后用新数据刷新视图控制器
在另一个线程中完成 JSON 请求后,我试图刷新视图控制器中的显示。数据正确刷新,但视图没有。我在数据拉取方法结束时尝试 setNeedsDisplay,但它因 NSRangeException 索引 0 超出范围而崩溃。我认为这是因为上面的视图控制器没有正确实例化,或者当前视图没有被释放。ARC 已开启。
我也尝试[vc.view viewDidLoad]
过同样的结果。
上面的代码位于(void)main
JSON pull 方法的末尾。