我正在开发一个 iOS 应用程序,我可能会遇到这样的混乱。
在 Xcode 中更改了一些参数后,比如“清除图形上下文”,现在我的所有视图都像另一个视图覆盖它们时那样:
这发生在键盘、所有 UIView、TWTweetComposeViewController 和覆盖视图的任何其他对象上。
会是什么呢?
这是来自 Apple 文档
设置为 YES 时,在调用 drawRect: 方法之前,绘图缓冲区会自动清除为透明黑色。此行为确保在重绘视图内容时不会留下任何视觉伪影。如果视图的 opaque 属性也设置为 YES,则视图的 backgroundColor 属性不能为 nil,否则可能会出现绘图错误。此属性的默认值为 YES。
如果您将此属性的值设置为 NO,您有责任确保在您的 drawRect: 方法中正确绘制视图的内容。如果您的绘图代码已经进行了高度优化,则将此属性设置为 NO 可以提高性能,尤其是在滚动期间可能只需要重绘视图的一部分时。
我认为你应该调用 self.view。clearsContextBeforeDrawing = YES 从您的 viewDidLoad 方法。您还可以从 Interface builder 中将其关闭/打开(下面的屏幕截图)
我解决了更改框架以管理我的视图控制器的问题。
问题是由于ECSlidingViewController 造成的:在删除它并用ViewDeck替换它之后,一切都像魅力一样工作,应用程序更加流畅。