gpt4 book ai didi

iphone - 如何覆盖 UIViewController 中的 "view"属性?

转载 作者:行者123 更新时间:2023-12-03 18:16:26 25 4
gpt4 key购买 nike

我有一个自定义 UIViewController 和自定义 UIView。我想重写 viewcontroller.view 属性以返回 MyCustomUIView。

现在我有:

@interface MyViewController : UIViewController {    
IBOutlet MyView* view;
}

@property (nonatomic, retain) IBOutlet MyView* view;

这可以编译,但我收到警告:属性“view”类型与父类(super class)“UIViewController”属性类型不匹配。

如何缓解此警告?

最佳答案

@lpaul7 已经发布了 Travis Jeffery 博客的链接作为评论,但它比所有其他答案正确得多,因此确实需要代码作为答案:

ViewController.h:

@interface ViewController : UIViewController

@property (strong, nonatomic) UIScrollView *view;

@end

ViewController.m:

@implementation ViewController

@dynamic view;

- (void)loadView {
self.view = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
}

@end

如果您使用 xib,不要覆盖 loadView,而是更改 View Controller Root View 的类型并将 IBOutlet 添加到属性。

参见Overriding UIViewController's View Property, Done Right了解更多详情。

关于iphone - 如何覆盖 UIViewController 中的 "view"属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/646521/

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