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]; } }
但是好像不好用
展开
 我来答
hjn199008
2013-05-07
知道答主
回答量:1
采纳率:0%
帮助的人:1528
展开全部
你的self.view下要有两个button,一个的tag是1016,一个是1008才行。
也就是说,在前面某段代码里,你已经有过了alloc init两个button过了,他们的一个tag是1016,一个是1008,并且你self.view addsubview 这两个button过。
追问
不好意思 刚刚发现了这个问题 其实是这个tag的值的问题   当是1016时是正确的   当我用别的tag标别的按钮  相同的代码 只是改了换了一个按钮 他就会出现这种问题  这是为什么啊  为什么只有1016可以呢
追答
你每建一个button,会有一个默认的tag,如果你不指明这个tag是多少的话,他是默认值加上去的,所以不同场景对应的tag可能不一样。你都是用1016来取就取不到了  最好就是每次创建完了,然后后面如果要用这种方式取得话,就在创建以后,修改tag值,比如:button.tag =100,以后就可以用100来取它。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Reyzhang
2013-05-07 · TA获得超过1111个赞
知道小有建树答主
回答量:805
采纳率:85%
帮助的人:685万
展开全部
reason: '-[UIButton setInnerBorderWidth:]: unrecognized selector sent to instance 0x816a240'
显然请确定你在创建tag为1008的控件也是使用的你的自定义控件UIGLossyButton .
这个错误是因为在UIbutton 中找不到setInnerBorderWidth而导致的异常.
追问
当我只用tag 1008的控件的时候 程序是没有问题的 可以跑起来 可是只要一超过一个 就会出现问题
追答
你可以尝试在设置setInnerBorderWidth这个属性的时候,先判断一下这个button的类型
if ([b isKindOfClass:[UIGLossyButton class]]) {
[b setInnerBorderWidth:1.0];
//...todo
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式