UIButton和IBOutlet变量关联的奇怪问题

shenyi0106 2015-02-11 10:44:24
IOS中,UIButton变量关联xib中的Button控件是通过定义IBOutet,然偶在控件窗口中,通过拖动来关联的。
现在我遇到一个奇怪的现象:
我的xib中,有两个UIButton控件,我在代码中也定义了两个IBOutlet,通过上述的拖动方式关联控件和变量,现在一个起作用,一个不起作用。通过断点调试进去看,一个变量是有值的(起作用的那个),一个变量是nil(不起作用的那个)。

具体做法如下:
我定义了两个UIButton控件 分别叫做 button1和button2,
我在.h中又定义了两个IBOutlen变量,分别是:

IBOutlen UIButton *leftButton;
IBOutlen UIButton *rightButton;

我通过拖拽的方式,关联控件和变量,并且XCode也在leftButton和rightButton变量前面自动添加了一个小圆圈,表示关联成功了。

问问各位,哪位遇到过类似问题?怎么解决的?
或者谁能告诉我,能不能不通过拖拽,直接通过代码关联UIButton控件和IBOutlet变量?
...全文
210 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hslinux 2015-02-11
  • 打赏
  • 举报
回复
可以直接用代码创建按钮
向日葵De视界 2015-02-11
  • 打赏
  • 举报
回复
首先你先看看控件和变量连接的是否正确,能通过代码加载view中的控件的,xib中将控件按顺序加载到一个栈中,你可以去哪里取,另外你也可以用代码创建button按钮,如果想xib中拖控件,你可以先拖控件,然后点击控件同时按住control键指向.h文件中,让系统直接生成变量。试试。
ReyZhang 2015-02-11
  • 打赏
  • 举报
回复
引用 4 楼 shenyi0106 的回复:
谢谢各位的耐心回答,虽然我还是没搞清怎么回事,但是现在好了。 我没改动任何东西,就是清理了一下编译缓存,在xib上删除了一个控件,在编译,又清理了一下,在恢复原来的控件,编译,就好了。 感觉这个XCode没VS好用。再次谢谢各位的回答。
解决就好。也有一些其它情况也会因为缓存的问题而导致出现问题。
shenyi0106 2015-02-11
  • 打赏
  • 举报
回复
谢谢各位的耐心回答,虽然我还是没搞清怎么回事,但是现在好了。 我没改动任何东西,就是清理了一下编译缓存,在xib上删除了一个控件,在编译,又清理了一下,在恢复原来的控件,编译,就好了。 感觉这个XCode没VS好用。再次谢谢各位的回答。
ReyZhang 2015-02-11
  • 打赏
  • 举报
回复
如果插座变量与xib正确连接,应该是可以正常工作的。你说的问题感觉还是你在操作的过程中,没操作正确导致的。 在xib关联类中的插座变量时,需要注意的两个地方: 1. 与xib关联的类是否设置正确 2. 插座变量与xib的连接是否正确 如果都能正确设置,不会出现控件不能被创建的情况。 xib的方式会帮助xib上的元素完成创建及初始化,而使用代码的方式就需要用户自己来创建控件的实例
UIButton *leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
////.....根据需要,设置button相应的属性和动作,如title, image,addtarget
[self.view addSubview:leftButton];  //////添另到视图树中。

29,049

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧