Storyboard 和xib 怎么混用
1个回答
2016-04-08 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
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……)
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F207是一款非常优秀的微控制器芯片,它是ST(意法半导体)最新推出的基于90纳米工艺的STM32F2系列芯片之一。STM32F207芯片内置了丰富的外设接口,包括ADC、DAC、UART、SPI、I2C等,可以轻松实现各种复杂的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询