1
在我cellForRowAtIndex我初始化按鈕(它被顯示在每一個細胞中實現代碼如下):按鈕應該點擊後改變形象,但(隨機)改變其他按鈕的圖像太
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self
action:@selector(customActionPressed:)
forControlEvents:UIControlEventTouchDown];
[button setTitle:@"" forState:UIControlStateNormal];
button.frame = CGRectMake(0.0f,cell.frame.size.height -15, 160.0f, 15.0f);
UIImage *buttonImage = [UIImage imageNamed:@"Image1.png"];
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
[button.titleLabel setFont:[UIFont fontWithName:@"Arial" size:13.0]];
button.contentEdgeInsets = UIEdgeInsetsMake(1, 60, 0, 0);
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[cell addSubview:button];
button.autoresizingMask = UIViewAutoresizingFlexibleTopMargin;
它一個正常的圖像,如果用戶點擊按鈕,圖像會改變。我也從XML獲取button.title的內容。因此,我告訴它從網絡上獲得正確的標題。這可以正常工作,但有時(並非全部),也是隨機更改下一個單元格的按鈕,或單元格向下三行。我不知道爲什麼,用斷點/調試器運行時找不到任何東西。
-(void)customActionPressed :(id)sender
{
UITableViewCell *owningCell = (UITableViewCell*)[sender superview];
NSIndexPath *pathToCell = [self.tableView indexPathForCell:owningCell];
UIImage *buttonImage = [UIImage imageNamed:@"image2.png"];
[self doXMLParsing];
[sender setBackgroundImage:buttonImage forState:UIControlStateNormal];
NSString *TableText = [[NSString alloc] initWithFormat:@"%@", [[tabelle objectAtIndex:pathToCell.row] pressed1]];
[sender setTitle:TableText forState:UIControlStateNormal];
((UIButton *)sender).enabled = NO;
}
所以,也許有人可以看到我錯了什麼地方。如果你需要更多的代碼,就這麼說吧。
你能否進一步解釋第二部分?我想我並不是真正的沉沒。 – Blade
當你創建一個customcell時,你可以通過[cell.nameofyourbutton setImage:[UIIMAGE imageNamed:@「」]]來訪問它。如果您的單元格中有多個項目,最好定製它,因爲更容易進行更改並以此方式訪問 –
噢,好的,是的,比我理解的要好。但即使它是appdelegate,它也不知道如何處理「cell.mybutton」。 – Blade