2016-06-28 13 views
1

Ich habe ein UI-Design-Problem über ios objective-c. Es müssen Tausende von Produktbildern auf einer einzelnen Seite angezeigt werden, 5 Produkte pro Zeile und 2 Zeilen Informationen für jedes Produkt unter jedem Bild. Wenn der Benutzer auf das Produktbild klickt, muss ich es zum Einkaufswagen hinzufügen. Außerdem muss ich eine kleine Schaltfläche unter jedem Produktbild hinzufügen. Wenn Benutzer auf die Schaltfläche klicken, werde ich ein Fenster anzeigen, um Benutzern zu ermöglichen, Notizen für dieses Produkt zu schreiben.anklickbare Bildansicht und Schaltflächenansicht in einer Zelle (UITableView oder collectionView)

Wie gestaltet man diese Art von UI? Danke.

+0

Fügen Sie einfach den Knopf als ein Subview, das ist, was du gemeint? –

+0

Wie weiß man, welche Taste und welches Bild angeklickt wurde? – Miken

+0

Schnell oder objektiv? –

Antwort

-1
cell.yourImageView.tag = ip.row; 
cell.youreImageView.userInteractionEnabled = YES; 
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapClick:)]; 
// this maybe repeat to addGesture 
// you can user custom UITableViewCell to avoid it 
[cell.youreImageView addGestureRecognizer:tap]; 


- (void)tapClick:(id)sender 
{ 
    UITapGestureRecognizer *tap = sender; 
    UIView *view = tap.view; 
    if (view.tag == 0) { 
     // row 1 
    } 
} 
1

Im cellForRowAtIndexPath: ip indexPath

cell.btn.tag = ip.row; 
[cell.btn addTarget:self action:@selector(btnclk:) forControlEvents:UIControlEventTouchUpInside]; 

Go-Controller anzuzeigen und diese Funktion hinzuzufügen, die jedesmal, wenn eine beliebige Taste ... Jede Taste verfügt über eine einzigartige Tag aufgerufen wird aufgerufen wird (wegen der roh Zahlen) und so können Sie erhalten zu jedem durch seine Nummer ...

-(void)btnclk:(UIButto*)sender 
{ 
    if (sender.tag == 0) 
     // btn clicked from cell number 0 
} 

schreibe ich es von meinem iPhone machen, so werde ich mehr schreiben, wenn ich an einen PC bekommen ...

Hier
0

ist der Code:

UIButton*btnLink;//create button 

btnLink=[[UIButton alloc]initWithFrame:CGRectMake(8, 8, self.view.frame.size.width, 77)];//set frame 

[btnLink setTitle:[@"yourTitle" forState:UIControlStateNormal]; 

btnLink.tag = indexPath.row;//set tag 

[btnLink addTarget:self action:@selector(linkClick:) forControlEvents:UIControlEventTouchUpInside];//set action 

[cell addSubview:btnLink]; 



-(IBAction)linkClick:(id)sender{ 

UIButton *btnSender = sender; 

NSLog(@"btnSender.tag====>%ld",(long)btnSender.tag);//check your clicked button tag number 

NSDictionary *dS; 

dS= [yourArray objectAtIndex:btnSender.tag]; 

NSString*myurl=[dS objectForKey:@"link"]; 

NSURL *url = [NSURL URLWithString:@"yourURL OR ANYTHING"]; 
[[UIApplication sharedApplication] openURL:url];