0

夕方 すべて

ボタンのグリッドを埋める次のコードがありますが、どのボタンが選択されているかを検出し、別のコントローラーにボタン画像を渡すにはどうすればよいですか

i =0; 
int i1=0; 
while(i<n){ 
int yy = 4 +i1*79; 
for(int j=0; j<4;j++){ 
if (i>=n) break; 
CGRect rect; 
rect = CGRectMake(4+79*j, yy, 75, 75); 
UIButton *button=[[UIButton alloc] initWithFrame:rect]; 
[button setFrame:rect]; 

id item = [items objectAtIndex:i]; 
NSString *imageLink = [item objectForKey:@"link"]; 

UIImage *buttonImageNormal=[UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURLURLWithString: imageLink]]]; 

[button setBackgroundImage:buttonImageNormal forState:UIControlStateNormal]; 
button.tag =i; 
NSLog(@"index: %i", i); 
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside ];

前もって感謝します

4

2 に答える 2

1

コールバック メソッド (buttonPressed:) への引数として、押されたボタンを取得します。次のように実装するだけです。

- (void)buttonPressed:(UIButton *)senderButton {

    UIImage *image = [senderButton backgroundImageForState:UIControlStateNormal];
    //use image:)
}
于 2013-01-10T22:33:34.467 に答える
0

各ボタンにタグを付けて、-(void)buttonPressed:前に投稿したものを使用できます。その関数を使用すると、次のようなことができます。

- (void)buttonPressed:(UIButton *)senderButton 
{
    if (senderButton.tag == 0) {
         // perform segue
    } else if (senderButton.tag == 1) {
         // perform other segue
    }
}

などなど。

それが役立つことを願っています!

于 2013-01-11T00:29:20.607 に答える