0

ボタンを作るメソッドがあります。引数は、テキストの色の位置 x 位置 y ボタンのタイプとメソッドです (注: このメソッドはクラス内にあります)

-(UIButton *)makeButton :(NSString *)string :(UIColor*)textColor  :(CGFloat)posx :(CGFloat)posy :(UIButtonType)type :(SEL)run
{
    UIButton *button =[UIButton buttonWithType:type];
    [button addTarget:self action:run forControlEvents:UIControlEventTouchUpInside];
    [button setTitle:string forState:UIControlStateNormal];
    button.titleLabel.font =[UIFont systemFontOfSize:11];
    [button setTitleColor:textColor forState:UIControlStateNormal];
    CGSize stringSize =[string sizeWithFont:[UIFont systemFontOfSize:11]];
    [button setFrame:CGRectMake(posx, posy, stringSize.width+10, stringSize.height+5)];

    return button;
}

そして、私はこのようにメソッドを呼び出しています。

 UIButton *btnGidenler=  [methods makeButton:anlik :[methods RGBR:0 G:135 B:222 A:1.0] :10 :5:(UIButtonType)UIButtonTypeCustom :@selector(gidenKisiler)];
            [viewGidenler addSubview:btnGidenler];

および @selector(btnGidenler)

基本的な方法-(void)gidenKisiler{ //just alert }

ボタンをタップすると、アプリがクラッシュします。セレクターが機能しないのはなぜですか?

クラッシュエラー

@autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate クラス])); }

4

1 に答える 1

1

私はそれを見つけました..私は自分のメソッドにターゲットセレクターを追加していましたが、セレクターとメソッドは同じ場所にある必要があると思うので、addTarget部分を戻るボタンImeanの下に移動します私の英語について申し訳ありません

UIButton *btnGidenler=  [methods makeButton:anlik :[methods RGBR:0 G:135 B:222 A:1.0] :10 :5:(UIButtonType)UIButtonTypeCustom :@selector(gidenKisiler)];
[button addTarget:self action:run forControlEvents:UIControlEventTouchUpInside];
            [viewGidenler addSubview:btnGidenler];

そしてそれは動作します!

于 2013-09-13T13:46:39.367 に答える