为什么我不能更改我的UIButton上的标签?

时间:2013-05-13 07:49:58

标签: iphone ios objective-c xcode uibutton

我有一个类似“s21”的NSString,我正在尝试将数字转换为按钮的标签。

我在做:

NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
[_b0 setTag: [temp intValue]];

_b0是我的UIButton。

我在运行setTag后运行NSLog来检查标签,但是按钮的标签没有改变,仍然是0。

我做错了什么?

5 个答案:

答案 0 :(得分:1)

您的代码是正确的,没有问题,因为我已经实现了我的目的。见下文我认为你在其他代码中做错了什么..

NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];

UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(20, 20, 100, 100);
[self.view addSubview:btn];
[btn setTag: [temp intValue]];

NSLog(@"Tag %d",btn.tag);

输出:

标记21

答案 1 :(得分:1)

如果您是通过nib文件创建IBOutlet,请检查UIButton的连接。

答案 2 :(得分:0)

NSString *str = @"S21";
NSString *newStr = [str substringFromIndex:0];

答案 3 :(得分:0)

这应该有效

NSString *temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
_b0.tag = [temp intValue];

答案 4 :(得分:0)

*temp = [[array objectAtIndex:0] stringByReplacingOccurrencesOfString:@"s" withString:@""];
_b0.tag = [temp intValue];