ios error:A view can only be associated with at most one view controller at a time

xcode 4.3.2上的工程运行,没有问题,更新到xcode4.5.1后,运行,提示异常:

Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'A view can only be associated with at most one view controller at a time! View < UIView: 0xa192d00; frame = (0 20; 320 460); autoresize = W+H; layer = < CALayer: 0xa192d60>> is associated with < UIViewController: 0xa195c70>. Clear this association before associating this view with < CustomViewController: 0xa1802a0>.'


google了半天,找到解决方案:

说明一下:1.将之前view controller之下的view,从view controller中移出,直接拖拽就可实现

                  2.然后将view controller删除。在file's owner ,class设置你你自己的class(红框处)


问题是解决了,但是原因还是没找到,有知道的朋友留个印。。。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是因为 `Basemap` 实例缺少必要的边界数据集。可以尝试在创建 `Basemap` 实例的时候指定一个边界数据集。例如,如果你想要绘制一个以美国为中心的地图,可以使用以下代码创建 `Basemap` 实例: ```python m = Basemap(projection='mill', llcrnrlon=-130, llcrnrlat=20, urcrnrlon=-60, urcrnrlat=50, resolution='l') ``` 在这个例子中,`resolution` 参数设置为 `'l'`,表示使用低分辨率的边界数据集。如果需要更高分辨率的数据集,可以将 `resolution` 参数设置为 `'h'`。 如果你已经使用了边界数据集但仍然遇到了这个错误,那么可能是因为数据集文件没有正确加载。你可以检查一下 `Basemap` 实例的 `datadir` 属性,确保它指向正确的数据文件目录。如果这个属性没有被正确设置,你可以手动指定数据文件路径,例如: ```python m = Basemap(projection='mill', llcrnrlon=-130, llcrnrlat=20, urcrnrlon=-60, urcrnrlat=50, resolution='l', fix_aspect=False) m.drawcoastlines(linewidth=0.5) m.drawcountries(linewidth=0.5) m.drawstates(linewidth=0.5) m.drawrivers(linewidth=0.5) m.drawcounties(linewidth=0.25) m.drawmapboundary(fill_color='white') m.fillcontinents(color='#cc9955',lake_color='#99ffff') plt.show() ``` 在这个例子中,我们手动指定了 `Basemap` 实例的数据文件路径,并通过 `drawcoastlines`、`drawcountries`、`drawstates`、`drawrivers` 和 `drawcounties` 方法绘制了地图的各个部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值