gpt4 book ai didi

ios - -[UIView setContentSize :]: unrecognized selector sent to instance 0x16d3be60

转载 作者:行者123 更新时间:2023-12-01 17:52:25 26 4
gpt4 key购买 nike

我正在关注 Apple 的 Scroll View Programming Guide for iOS .它接缝非常简单,但我收到此错误:

-[UIView setContentSize:]: 无法识别的选择器发送到实例 0x16d3be60由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIView setContentSize:]:无法识别的选择器发送到实例 0x16d3be60”

我遵循了在 Interface Builder 中创建 ScrollView 中的步骤。很明显self.viewUIView类型,而应该是UIScrollView。我控制并从 Controller 拖动到 ScrollView ,如教程中所示, ScrollView 似乎已注册为该 Controller 中的 View ,如以下屏幕截图所示:

enter image description here

我尝试在 View 中单击“x”,这样 ScrollView 将只是 Controller 中的 View ,但没有任何效果(因为显示为灰色表示)。

我错过了什么?

顺便说一句,这是崩溃的代码:

- (void)viewDidLoad
{
[super viewDidLoad];

// Setup scroll size
UIScrollView *view = (UIScrollView*)self.view;
view.contentSize = CGSizeMake(self.view.frame.size.width, 960);
}

最佳答案

在创建一个全新的 UIViewController 之后,我会这样做:

之前

自定义类 基本上是 UIView 的一个实例。

before

之后

我已将 Custom Class 显式更改为 UIScrollView,这几乎就是工作,您需要完成它。

after


从那时起,您可以在类中将 self.view 转换为 UIScrollView 并使用它,因为它是 UIScrollView



属性检查器更新

基本上该解决方案不会更新最初创建的 xib 文件的 XML 标签,它仍然被 识别为 UIView >属性检查器

如果这是一个全新 View ,您可以将一个新的UIScrollView拖放到您的xib 文件,并可以将其正确连接到 File's Ownerview,例如:

re-connent the view property

正确结果:

the scrollview is the new one

之后可以删除原始 View ,因为它不再连接到 File's Owner

高级模式

如果您的 View 中已经有很多 subview ,复制粘贴方式可能不适用于上述关于交换 View 的轻松解决方案——您可以建立一个完全联系 使用 XML 文件 - 如果您觉得有足够的经验和信心手动编辑该文件! 如果您有任何微小的疑问,请不要直接触摸或编辑 XML 文件!

如果是,您只需要将主要标签从view更新为scrollView,例如:

view-tag scrollView-tag


在以任何方式进行更改后,Attribute Inspector 会将 View 视为 UIScrollView

关于ios - -[UIView setContentSize :]: unrecognized selector sent to instance 0x16d3be60,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25568386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com