【发布时间】:2014-08-23 09:17:11
【问题描述】:
我有一个 ViewController,上面有一个 UIView 空间:
这里是:
@property (weak, nonatomic) IBOutlet UIView *iboContentView;
所以,我创建了一个名为 ExternalDisplayViewController.xib 的 *.XIB 文件 以及创建的 ExternalDisplayViewController.h 和 ExternalDisplayTableViewController.m
在 ExternalDisplayViewController.xib 到我的 UIView 我添加了类 ExternalDisplayTableViewController(将类绑定到 UI)。
在我的 ViewController 上,我想将我的自定义控件(即 ExternalDisplayTableViewController)放到它的位置 - iboContentView。
在我的代码中,我这样做:
-(void)showViewController
{
CGRect frame = CGRectMake(0, 0, self.iboContentView.frame.size.width, self.iboContentView.frame.size.height);
ExternalDisplayViewController *view = [[ExternalDisplayViewController alloc]initWithFrame:frame];
view.autoresizingMask=UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
view.contentMode=UIViewContentModeScaleAspectFit;
[self.iboContentView addSubview: view];
}
但它没有显示出来。我做错了什么?
我的自定义控件如下所示:
ExternalDisplayViewController.h:
#import <UIKit/UIKit.h>
@interface ExternalDisplayViewController : UIView
@end
【问题讨论】:
-
请注意变量名(如本例中的
View)应以小写开头,因此View应为view。这看起来像您正在尝试将 viewController 添加到视图而不是视图中。试试[self.iboContentView addSubview:View.view]; -
不,我 100% 知道我的 UIView 不是 UIViewController。因为我创建了一个空的 xib 并将 UIView 放在那里并将其绑定到 UIView 类
-
发布的代码无法编译。如果正在运行,请复制真实代码。
-
所以这让我很困惑,那么如果
view不是viewController,你为什么要分配ExternalDisplayTableViewController,它清楚地表明它是一个viewController?如果ExternalDisplayTableViewController不是viewController,那么你不应该称它为viewController。ExternalDisplayTableViewController的界面是什么样的? @danh 这整个问题似乎有点俗气(哈哈,看看我在那里做了什么) -
查看添加的附件
标签: ios objective-c ipad uiview