Xamarin iOS:Xib控件与UICollectionViewCell.cs关联丢失求助
修复Xamarin.iOS中UICollectionViewCell与XIB的关联问题
别担心,新手遇到这种XIB和代码关联断裂的问题太正常了,我刚接触Xamarin的时候也踩过一模一样的坑!咱们一步步来把关联找回来:
第一步:检查Cell控件的Class设置(重点!)
很多人会误以为要设置File's Owner,但对于UICollectionViewCell的XIB来说,核心是要把Cell本身的控件关联到你的自定义类:- 打开你的XIB文件,在设计器里直接选中那个
UICollectionViewCell控件(不是左侧面板里的File's Owner) - 切换到右侧的Identity Inspector(小头像图标)
- 在
Class下拉框里选择你的UICollectionViewCell.cs对应的类名,同时确保Module选择的是你的项目名称(避免类找不到的问题)
- 打开你的XIB文件,在设计器里直接选中那个
第二步:重新生成设计器代码
有时候关联断裂是因为自动生成的设计器文件没同步:- 右键你的XIB文件,选择Properties,确认
Build Action是InterfaceDefinition - 点击顶部菜单栏的
Build -> Clean All清理项目 - 再点击
Build -> Rebuild All重新编译整个项目
- 右键你的XIB文件,选择Properties,确认
第三步:修复控件的Outlet关联
如果之前的控件Outlet还在代码里,但XIB里的关联断了:- 打开XIB和对应的
UICollectionViewCell.cs文件,分屏显示 - 选中XIB里的控件,右键拖到代码文件的合适位置,重新创建Outlet(或者在Connections Inspector里检查并重新连接已有的Outlet)
- 打开XIB和对应的
第四步:确认命名空间匹配
检查你的UICollectionViewCell.cs文件里的命名空间,和XIB中Class设置的Module是否一致,如果命名空间修改过,XIB里的Module也需要对应调整终极方案:重新生成设计器文件
如果上面的方法都没用,可以尝试彻底重置关联:- 在解决方案资源管理器里找到和XIB同名的
.designer.cs文件,删除它 - 右键你的XIB文件,选择Generate Interface,让系统重新生成设计器文件,这样就能重新建立XIB和代码的关联了
- 在解决方案资源管理器里找到和XIB同名的
内容的提问来源于stack exchange,提问作者Unnamed
相关产品推荐
相关产品推荐

