ios 团队开发storyboard 或者xib 起冲突怎么办
1个回答
展开全部
1. 新建ABC类(subclass UIView)以及ABC.xib
2. 设置ABC.xib的file owner为ABC类, 记住不是设置xib里面那个view的Custom Class,那个就是默认的uiview就好
3. 在ABC类中建立一个类型是UIView的property,假设叫view。 然后再init方法中load这个XIB到view(不是load到ABC的实例,而是load给view这个property),设定view的frame是ABC的bounds,添加这个view到self( ABC的实例 )。
这个时候,一个最简单的reusable view就封装好了。
4. 在storyboard中,拖一个UIView到随便一个scene中,然后把这个uiview的custom class设为ABC类,就完成了上述View的导入工作。
虽然更改了custom class,但依然要运行的时候那个view才能是XIB里你设计的样子,如果想在storyboard中就看到你设计的XIB加载在scene中得样子呢?
5. 在ABC类声明前加上 @IBDesignable(如果加这个,需要同时实现initwithcoder 以及initwithframe方法,方法体可以相同)
这个时候点回storyboard的文件。骚等片刻,你刚才拖得那个view,应该已经变成XIB里面的样子了。
什么? 还想再storyboard里设置ABC类的属性?并实时看效果?
6. 在ABC类中,添加 @IBInspectable 修饰的属性,然后再属性的setter添加一些修改你ABC类展示的代码。
再点回storyboard,选择ABC那个view,你会发现inspector中已经多了你新增的属性,并且你修改值后,storyboard也会立即刷新(前提是你机器够快的话……这里会触发一次build……)
2. 设置ABC.xib的file owner为ABC类, 记住不是设置xib里面那个view的Custom Class,那个就是默认的uiview就好
3. 在ABC类中建立一个类型是UIView的property,假设叫view。 然后再init方法中load这个XIB到view(不是load到ABC的实例,而是load给view这个property),设定view的frame是ABC的bounds,添加这个view到self( ABC的实例 )。
这个时候,一个最简单的reusable view就封装好了。
4. 在storyboard中,拖一个UIView到随便一个scene中,然后把这个uiview的custom class设为ABC类,就完成了上述View的导入工作。
虽然更改了custom class,但依然要运行的时候那个view才能是XIB里你设计的样子,如果想在storyboard中就看到你设计的XIB加载在scene中得样子呢?
5. 在ABC类声明前加上 @IBDesignable(如果加这个,需要同时实现initwithcoder 以及initwithframe方法,方法体可以相同)
这个时候点回storyboard的文件。骚等片刻,你刚才拖得那个view,应该已经变成XIB里面的样子了。
什么? 还想再storyboard里设置ABC类的属性?并实时看效果?
6. 在ABC类中,添加 @IBInspectable 修饰的属性,然后再属性的setter添加一些修改你ABC类展示的代码。
再点回storyboard,选择ABC那个view,你会发现inspector中已经多了你新增的属性,并且你修改值后,storyboard也会立即刷新(前提是你机器够快的话……这里会触发一次build……)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询