Scrollviewcustomcontrol not sending correct ID to display the desired output. We have two textviews showing 4 articles snippets in scrollview. They are subviews of scrollview. Now clicking on them, I wish to open a details page of that article along with scroller so that all news could be browsed/scrolled in full form. ScrollerView is in place, working with paging, and showing all the records from beginning. Its just not going to the exact article that we clicked.
I tried to pass values via textviews and buttons assigned to it. But it can just pass two values since we have two textviews..and there are four articles..article number 3 is passing the ID of article number 1. And article number 4 is passing the ID of article number 2.
Any ideas?
- (IBAction) tappedItemAtIndex:(id)sender {
UIButton *tappedButton = (UIButton*) sender;
NSInteger selectedIndex = [tappedButton tag];
}
int j=0;
for (int i = 0; i < rowOne.count; i++) {
if (j==1) {
j++;
}
count =i+1;
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
UIView*subView=[[UIView alloc ]initWithFrame:frame];
[self.scrollView addSubview:subView];
CGRect myframe=CGRectMake(107, 46, 258, 128);
//CGRect myframe=CGRectMake(13, 46, 352, 128);
Book*book=[rowOne objectAtIndex:i];
UIButton*backViewButton=[UIButton buttonWithType:UIButtonTypeCustom];
backViewButton.frame=CGRectMake(107, 46, 258, 128);
[backViewButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
buttontitle=book.title;
[backViewButton addTarget:self action:@selector(tappedItemAtIndex:)forControlEvents:UIControlEventTouchUpInside];
[backViewButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[backViewButton setTitle:buttontitle forState:UIControlStateNormal];
[subView addSubview:backViewButton];
backViewButton.tag=j;
j++;
Book*book1=[rowOneSecond objectAtIndex:i];
UIButton*backViewButton1=[UIButton buttonWithType:UIButtonTypeCustom];
backViewButton1.frame=CGRectMake(531, 99, 300, 100);
[backViewButton1 setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
NSString*title=book1.title;
backViewButton1.tag=j;
[backViewButton1 addTarget:self action:@selector(tappedItemAtIndex:)forControlEvents:UIControlEventTouchUpInside];
[backViewButton1 setTitle:title forState:UIControlStateNormal];
[subView addSubview:backViewButton1];
}
Did you try setting tag to the textViews. Like when you add them in scrollview I assume you run a loop so add textView to a button and then add that button to scrollview and assign tag = index(loop increment variable). Add target to button. From there you can get the tag of button and then you pass it to super class by creating a delegate protocol.
Update
//I assume you have this type of function bound to each button’s touchUpInside.