gpt4 book ai didi

ios - 是否有充分的理由从自定义 UIView 指向 UIViewController

转载 作者:行者123 更新时间:2023-11-29 10:26:11 25 4
gpt4 key购买 nike

我刚刚继承了一个代码库,该项目似乎主要由 UIViews 组成。

这是一个 UIView 的头文件示例,写于 2014 年 7 月 29 日,因此代码相对较新:

#import <UIKit/UIKit.h>

@interface SettingsView : UIView {
UIView *aView;
UIViewController *controller;
}
@property(nonatomic,strong)UIView * aView;
@property(nonatomic,strong)UIViewController * controller;

@end

您可以看到有一个指向 UIViewController 的指针。在实现文件中,有几个地方使用了 mainView。这是一个例子:

MyView *myView = [[MyView alloc] initWithFrame:CGRectMake(0, yPos, scroller.frame.size.width, 50)];
myView = 102;
myView = mainView; // Here we are setting another view with this controller.
[scroller myView];

我觉得这段代码不对。但是我想知道是否有充分的理由让某人拥有从 UIView 到 UIViewController 的指针。多年来,我已经看到了相当多的 iOS 代码,这是我第一次看到。

如有任何见解,我们将不胜感激。

最佳答案

我也是这样使用我的观点。我使用一个名为“发件人”的变量,UIView 使用该变量跟踪调用它的 UIVC。然后我可以进行各种逻辑操作,知道父 View 的大小,将 View 添加为 subview 而无需明确说明。

这是最好的方法吗?不,它破坏了 MVC,它没有清楚地将 UI 与功能分开,但它也更方便,更容易编写代码。

您可以决定在您的 UIView 中添加按钮或操作,这将影响其 senderVC。

func openWebViewController(#URL: NSURL) {
var webViewController = SVModalWebViewController(URL: URL)
senderVC.presentViewController(webViewController, animated: true, completion: nil)
}

这是我使用 UIVC 指针的风格的一个小例子,抱歉它很快,但它应该是可以理解的。

https://github.com/goktugyil/CozyLoadingActivity

关于ios - 是否有充分的理由从自定义 UIView 指向 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32155836/

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