0

現在、ユーザーのすべての情報を含むビューを返すことができるプロファイルオブジェクトを作成しています。コードをさまざまな場所で再利用できるようにしたいので、NSObjectでコードをビルドしようとしていますが、ビューのサブビューとして追加すると、ボタンをクリックできません。ボタンは長方形で作成され、その上にUILabelが配置されます。入れようとしているところにコディをコピーすれば、うまくいきます。デリゲートも作成してみましたが、何もしませんでした。

編集

UIView *profile = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 300.0, 175.0)];
UIView *votesView = [[UIView alloc] initWithFrame:CGRectMake(60.0, 125.0, 60.0, 50.0)];
UILabel *votesLabel = [[UILabel alloc] initWithFrame:CGRectMake(5.0, 0.0, 50.0, 40.0)];
votesView.backgroundColor = [UIColor lightGrayColor];
votesLabel.text = votes;
votesLabel.textAlignment = UITextAlignmentCenter;
votesLabel.backgroundColor = [UIColor clearColor];
votesLabel.tag = 2;
[votesView addSubview:votesLabel];
[profile addSubview:votesView];
4

1 に答える 1

1

NSObjectをサブクラス化するのはなぜですか。UIViewをサブクラス化して、含まれるすべてのビューを実装できます。

また、ボタンをどのように追加しているかがわかりません。コード内のラベルだけが表示されます。

ただし、アクションとターゲットについて言及する必要があることをお勧めします。ターゲットの場合は、呼び出された場所にクラスを追加できます。

[btn addTarget:<class where you will add UIView returned by your class> action:<SEL in your class where you will add UIView> forControlEvents:<UIControlEvents>]
于 2012-10-10T18:41:22.800 に答える