
IOS 应用开发遇到的一点小问题 求指教
如图我用b继承了自己写的类UIGLossyButton当只有一个tag1016的时候没有问题,可是当我添加第二个tag1008就会出现问题signalSIGANRTrea...
如图 我用b继承了自己写的类UIGLossyButton 当只有一个tag1016的时候没有问题,可是当我添加第二个tag1008就会出现问题
signal SIGANRT
reason: '-[UIButton setInnerBorderWidth:]: unrecognized selector sent to instance 0x816a240'
为什么多于一个就会出现问题?
在网上找到了类似的解决方法是这个
if([[cell.contentView subviews] count] >0) { for (UIView *temp in [cell.contentView subviews]) { [temp removeFromSuperview]; } }
但是好像不好用 展开
signal SIGANRT
reason: '-[UIButton setInnerBorderWidth:]: unrecognized selector sent to instance 0x816a240'
为什么多于一个就会出现问题?
在网上找到了类似的解决方法是这个
if([[cell.contentView subviews] count] >0) { for (UIView *temp in [cell.contentView subviews]) { [temp removeFromSuperview]; } }
但是好像不好用 展开
2个回答
展开全部
你的self.view下要有两个button,一个的tag是1016,一个是1008才行。
也就是说,在前面某段代码里,你已经有过了alloc init两个button过了,他们的一个tag是1016,一个是1008,并且你self.view addsubview 这两个button过。
也就是说,在前面某段代码里,你已经有过了alloc init两个button过了,他们的一个tag是1016,一个是1008,并且你self.view addsubview 这两个button过。
追问
不好意思 刚刚发现了这个问题 其实是这个tag的值的问题 当是1016时是正确的 当我用别的tag标别的按钮 相同的代码 只是改了换了一个按钮 他就会出现这种问题 这是为什么啊 为什么只有1016可以呢
追答
你每建一个button,会有一个默认的tag,如果你不指明这个tag是多少的话,他是默认值加上去的,所以不同场景对应的tag可能不一样。你都是用1016来取就取不到了 最好就是每次创建完了,然后后面如果要用这种方式取得话,就在创建以后,修改tag值,比如:button.tag =100,以后就可以用100来取它。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
reason: '-[UIButton setInnerBorderWidth:]: unrecognized selector sent to instance 0x816a240'
显然请确定你在创建tag为1008的控件也是使用的你的自定义控件UIGLossyButton .
这个错误是因为在UIbutton 中找不到setInnerBorderWidth而导致的异常.
显然请确定你在创建tag为1008的控件也是使用的你的自定义控件UIGLossyButton .
这个错误是因为在UIbutton 中找不到setInnerBorderWidth而导致的异常.
追问
当我只用tag 1008的控件的时候 程序是没有问题的 可以跑起来 可是只要一超过一个 就会出现问题
追答
你可以尝试在设置setInnerBorderWidth这个属性的时候,先判断一下这个button的类型
if ([b isKindOfClass:[UIGLossyButton class]]) {
[b setInnerBorderWidth:1.0];
//...todo
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询