私のアプリでは、ネットワークからいくつかのデータを解析し、いくつかのカスタマイズされたボタンを追加する必要があります。後でユーザーがクリックすると、詳細が表示されます。
- 画像ビューはアプリの背景です
- これらのボタンの位置 (xPos、yPos) はサーバーから解析されます (動的データ)
- プログラムで追加したこれらのボタンをクリックしても印刷されません
追加するためのコードは次のようなものです
...
[businessButton setImage:businessImage forState:UIControlStateNormal];
[businessButton setFrame:CGRectMake([xPos floatValue], [yPos floatValue], [businessImage size].width/2, [businessImage size].width/2)];
[businessButton addTarget:self.imageView action:@selector(serviceProviderSelected:) forControlEvents:UIControlEventTouchUpInside];
...
- (void)serviceProviderSelected:(id)sender
{
NSLog(@"sp tapped\n");
}
別のダミーアプリを作成して(同じことだと思います)、ボタンは正常に機能します...
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton *customizedButton = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *image = [UIImage imageNamed:@"business-icon.png"];
[customizedButton setImage:image forState:UIControlStateNormal];
[customizedButton setFrame:CGRectMake(100, 100, 20, 20)];
[customizedButton addTarget:self action:@selector(customButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:customizedButton];
}
- (IBAction)buttonPressed:(id)sender {
NSLog(@"yes, pressed\n");
}
コードで作成したボタンは既にリリースされており、これらのボタンを格納するために使用する配列を出力しているのではないかと疑っていますが、それらは有効なアドレスです...
ありがとう!
ウィリアム