0

我在iOS中将文本更改为uibutton时出错

@interface ViewControllerSonidos : UIViewController{
    __weak IBOutlet UIButton *initgame;
}
@property (weak, nonatomic) IBOutlet UIButton *initgame;
- (IBAction)Reproducir:(id)sender;

我的实现文件如下所示:

@implementation ViewControllerSonidos
@synthesize initgame

- (IBAction)Reproducir:(id)sender {
    [initgame setTitle:@"Continue" forState:UIControlStateNormal];
}

但问题是文本永远不会改变,有人看起来有什么问题吗?提前致谢!

4

6 回答 6

1

试试这个代码:

- (IBAction)Reproducir:(id)sender {
    [sender setTitle:@"Continue" forState:UIControlStateNormal];
}
于 2013-07-18T05:53:33.360 回答
1

你有很多方法可以做到这一点。

  • 您可以将其与 IBOutlet 连接,
  • 您可以将其与 id sender 一起使用
  • 或者您可以只使用简单的 IBAction 签名

例子:

 // using the id sender method
 - (IBAction) buttonTitleChange:(id)sender {
    [sender setTitle: @"Title" forState:UIControlStateNormal];
 }

 // using the connection one
 - (IBAction) buttonTitleChange: (id)sender {
    //AFTER CONNECTING THE BUTTON IN .XIB
    [buttonName setTitle:@"Title" forState:UIControlStateNormal];
 }

 // and the regular void method....also requiring the linkage of the .xib
 - (IBAction) buttonTitleChange {
    [buttonName setTitle:@"Title" forState:UIControlStateNormal];
 }

只要记住为他们都连接.xib中的按钮

使用 id sender,只是说您可以将它用于任何类型的对象。带connection的id sender只是一种写法,正则法只是一种实践方式。

这完全取决于您如何编程。

希望这可以帮助!

于 2013-07-18T06:01:06.660 回答
0

可能有问题IBOutlet,您忘记在 XIB 中连接它,否则它可以正常工作。

于 2013-07-18T05:54:03.957 回答
0
-(void)btnChanged
{
    [m_btnSample setTitle:@"Continue" forState:UIControlStateNormal];

}
于 2013-07-18T05:55:38.827 回答
0

在 ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController
- (IBAction)initgame:(id)sender;
@property (retain, nonatomic) IBOutlet UIButton *initgame;
@end

在 ViewController.m

- (IBAction)initgame:(id)sender {
[self.initgame setTitle:@"Continue" forState:UIControlStateNormal];   
}

不要忘记将 .xib 中的按钮附加到属性和 IBAction。

如果它现在不起作用,只需删除 Button 和 IBAction/Property 之间的连接,为其创建新的 IBAction 和属性,它将适用于上述代码。

于 2013-07-18T06:00:39.017 回答
0

是的,请检查 IBOutlet 连接,因为相同的代码对我有用。

于 2013-07-18T06:01:55.247 回答