我想看到作为一个动画后切换视图:
[UIView beginAnimations: @"Fade Out" context:nil];
[UIView setAnimationDelay:1.0];
[UIView setAnimationDuration:0.25];
splash.alpha = 0.0;
[UIView commitAnimations];
[self.view addSubview : view];
在[self.view addSubview : view];
我要为视图为它添加添加一个名字,所以我做了一个IBOutlet
,像这样:(上接第视图控制器的.h文件中)
IBOutlet UIView *main;
但是,当我尝试将连接*main
UIView
对故事板视图,它不会让我......非常感谢你们。
你的困惑的一点是在代码中创建用户界面对象VS创建这些图形化使用界面生成器/分镜之间。
一条线索是你的预处理程序提示“IBOutlet中”的使用。 图1B是用于界面生成器==图形生成(使用故事板或XIB文件)。
如果在故事板制作...
创建一个IBOutlet属性为你做了,虽然全正确的语法是
@property (nonatomic, weak) IBOutlet UIView *main;
拖动从对象库的“自定义视图”查看到你的故事板的场景。
- 按Ctrl键从视图到ViewController。 你应该得到带有合适的项目来连接列表。 您IBOutlet中应该是在列表中。 选择它。
一个IBOutlet的整个目的是给你在你的故事板场景的项目的参考,你可以在你的代码中使用。
你不会需要做到这一点:
[self.view addSubview : view];
因为它已经创建,并在你的故事板添加。 请确保你在你的视图层次期待它的位置。
如果在代码中创建...
在@interface声明属性
@property (nonatomic, strong) UIView *main;
(无需IBOutlet
,你是不是在你的故事板连接起来。万一声明“强”,而不是“弱”你不立即将其分配到一个视图层次)。
在添加此行
[self.view addSubview : view];
你需要考虑:你将不会在你的情节提要/厦门国际银行存在的新的看法? 如果是这样,你可以不加它,直到你已经创造了它。 (添加在你的故事板视图是没有意义的,因为它已经存在,在你的故事板场景)。
所以 - 当你出现在代码中这样做 - 你需要添加它之前创建视图。
UIView* myView = [[UIView alloc] init];
设置它的框架属性,以便我们知道,当你将它添加到视图层次结构会出现
myView.frame = CGRectMake (CGFloat x, CGFloat y, CGFloat width, CGFloat height);
将您的新创建的视图属性
self.main = myView;
将它添加到您的视图层次
[self.view addSubview : myView];
现在,您可以通过使用self.main引用它的代码。 这仅仅是因为这将是,如果你在IB /故事板和CRTL-拖参考链接到您的IBOutlet中已经添加它。
如果您在代码中创建您的视图,并立即将其添加到视图层次,以宣告属性的选择是设置视图上的(数字)的标签属性,那么你可以使用它的上海华盈的引用视图viewWithTag:
方法
有一件事你不能做的就是在代码中创建视图,然后用故事板操纵它。
我希望这是所有有用的,我担心我可能会进一步混淆你!
我迟到了这一点。 但是,让我寄我发现最近反正。
我有这样的情况:
1)BaseViewController包含MenuView(自定义的UIView)
2)MenuView包含menuTable持有所有的菜单项
3)在故事板我BaseViewController场景MenuView和MenuTableView
我能有IBOutlet中参考menuTable我们通常通过拖动故事板到BaseViewController.h表做。 但我想自定义MenuView负责填充MenuTable作为分离的关注。 为了做到这一点,我需要从MenuView.h到菜单表上的故事板IBOutlet中引用的连接。
所以这是我做过什么:
1)首先创建MenuView.h @property表(弱,非原子)IBOutlet中的UITableView * menuTable的IBOutlet中属性;
2)一旦创建了财产,还有刚刚离开的财产声明,表示这是IBOutlet中变量的一侧的小圆圈。
3)现在用故事板打开并MenuView.h在助理编辑XCode中打开,我可以点击圆圈并将其拖到表上的脚本。 (注:如果我尝试从故事板中拖动表格MenuView.h,它不会让我注意知道为什么。)
而已。 现在,我已经取得了从自定义的UIView到故事板IBOutlect连接。
注:我使用的XCode 7中定位iOS 7及以上的设备。 (如果说有什么区别)
如果你是新来的Xcode或分镜脚本比你应该看看这个基本教程:
在iOS 5的第1部分开始故事板
在iOS 5的第2部分故事板开始
你声明视图的属性?
语法应该是这样的:
@property (nonatomic, weak) IBOutlet UIView *main;