0

我想制作一个按钮,通过更改测试在 2 个不同阶段之间切换。因此,如果它显示添加,则单击 i 更改以删除。如果它说删除它将更改为添加。

该程序不起作用,为了尝试调试它,我将 setTitle 方法放在 oncreate 中,它在那里工作。接下来我在我的方法中设置断点。它检测到它说添加,并执行假设更改文本的行,文本没有更改。我真的不明白为什么它适用于 oncreate 方法而不是我的方法。

代码

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    mFeetImage.contentMode = UIViewContentModeScaleAspectFit;

    [gFileName Reset];
    NSString *ted= [gFileName GetFileName];
    mFeetImage.image= [ UIImage imageNamed :ted];

    // test code
    [ mFavrest setTitle: @"ADD" forState:UIControlStateNormal ];  works
}

-(IBAction) aFavest: (id) sender
{
    NSString *t=mFavrest.currentTitle;
    int i=[ t compare:@"ADD" ];

    if ( i ==0 )
    {
        // set break point here, break point goes off text does not change
        [ mFavrest setTitle: @"REMOVE" forState:UIControlStateNormal ];
    }
    else
    {
        [ mFavrest setTitle: @"ADD" forState:UIControlStateNormal];
    }
}
4

1 回答 1

0

试试下面的代码:

-(IBAction) aFavest: (id) sender
{
    UIButton *youButton = (UIButton*)sender;
    if ([youButton.currentTitle isEqualToString:@"ADD"])
    {
        // set break point here, break point goes off text does not chnage
        [youButton setTitle: @"REMOVE" forState:UIControlStateNormal ];
    }
    else
    {
        [youButton setTitle: @"ADD" forState:UIControlStateNormal];
    }
}

此外,请确保变量mFavrest已正确连接。在某处放置一个断点并检查它是否为零。

如果 IBOutlet mFavrest 连接正确并且 IBAction 也是如此,则此代码应该可以工作。

于 2012-11-10T02:08:19.690 回答