objective-c – 在UIViewController的主视图中加载自定义UIView

objective-c – 在UIViewController的主视图中加载自定义UIView,第1张

概述我已经将UIView子类化并创建了一个NIB来控制我的应用程序的主要逻辑. 希望视图可以很好地扩展,我想将它用于iPhone和iPad版本的应用程序. 在iPhone上,视图将覆盖全屏.在iPad上,视图将仅覆盖屏幕的一部分. 我已经读过你不应该使用UIViewControllers来控制部分屏幕.所以,我试图使用IB将自定义UIView嵌入到主UIViewController的视图中. 如何才能 我已经将UIVIEw子类化并创建了一个NIB来控制我的应用程序的主要逻辑.

希望视图可以很好地扩展,我想将它用于iPhone和iPad版本的应用程序.

在iPhone上,视图将覆盖全屏.在iPad上,视图将仅覆盖屏幕的一部分.

我已经读过你不应该使用UIVIEwControllers来控制部分屏幕.所以,我试图使用IB将自定义UIVIEw嵌入到主UIVIEwController的视图中.

如何才能做到这一点?

解决方法 经过大量的反复试验后,我找到了一个基于 question中解释的方法的解决方案,由 Brian Webster回答.

该解决方案最初建议用于Cocoa环境.我希望它在iOS环境中也有效.

>使用NIB文件创建主视图控制器.在NIB中,文件所有者应该对应于主视图控制器的类.
>使用NIB文件创建自定义视图控制器.在此NIB中,文件所有者应对应于自定义视图控制器的类.
>在主视图控制器类中创建自定义视图控制器属性.
>在主视图控制器类中创建UIVIEw属性.它将保存您的自定义视图控制器的视图.将其定义为IBOutlet,因此可以在NIB中进行链接.
>在主视图控制器的NIB中删除UIVIEw.将其链接到主视图控制器的视图IBOutlet.它将用作自定义视图的占位符.
>在主视图控制器的vIEwDIDLoad方法中,加载自定义视图控制器NIB,确定自定义视图的帧大小并在主视图控制器的视图中复制视图.

这是一些代码:

> MainVIEwController.h

@interface MainVIEwController : UIVIEwController {  CustomVIEwController *customVIEwController;  UIVIEw *customVIEw;}@property (nonatomic,retain) CustomVIEwController *customVIEwController;@property (nonatomic,retain) IBOutlet UIVIEw *customVIEw;@end

> MainVIEwController.m

- (voID)vIEwDIDLoad {  CustomVIEwController *controller = [[CustomVIEwController alloc] initWithNibname:@"CustomVIEwController" bundle:nil];  self.customVIEwController = controller;  [controller release];  customVIEwController.vIEw.frame = customVIEw.frame;  customVIEwController.vIEw.autoresizingMask = customVIEw.autoresizingMask;  [customVIEw removeFromSupervIEw];  [self.vIEw addSubvIEw:customVIEwController.vIEw];  self.customVIEw = customVIEwController.vIEw;  [super vIEwDIDLoad];}
总结

以上是内存溢出为你收集整理的objective-c – 在UIViewController的主视图中加载自定义UIView全部内容,希望文章能够帮你解决objective-c – 在UIViewController的主视图中加载自定义UIView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1080409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存