背景
有个老哥说,他使用storyboard
创建视图,然后搞了很多状态堆叠在一起,需要的就显示,不需要的就隐藏。后面变得难以维护,牵一发动全身。
答案
我给的建议是对每个状态,创建不同的xib
,以后只需要隐藏、显示这些xib
然后有一位老哥给了一个我没有见过的方法,对就是Scene Dock
,官方文档翻译为场景底座。上图
这里有解释,大意就是说,放在控制器外面的视图,主要用于弹窗之类的,和控制器一起实例化,如果要使用,和其他视图一样引用连线就可以了。
#import "ViewController.h"
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIView *CSView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self.view addSubview:self.CSView];
}
@end
不需要指定宽高,直接就有
使用方法也很简单,把需要的视图直接拖到上图红色区域,注意不要拖到控制器里面去了。