我有一個UITableView,併爲每個單元填充信息,詳細信息和圖像。我也有它,所以當一個單元格被選中時,它將帶給用戶一個詳細的視圖。我試圖完成的是如何區分用戶單擊單元格或單元格中的圖像時的差異。在UITableView中選定的UIImage
我想顯示一個小的子視圖,當用戶單擊單元格中的圖像時,小的子視圖將保留在原始框架中,但會給用戶其他可與其交互的東西。
我看了四周,似乎甚至找不到一個簡單的解釋或某處開始。它是由Facebook和Twitter等應用程序完成的,在表格視圖中您可以看到用戶個人資料圖片,您可以單擊此圖標而不是實際的單元格....
任何信息都將非常感謝!
謝謝@Nekno我已經開始嘗試實施這種方法,並且如果您不介意清理或給出您的意見,請回答幾個問題。
這是我迄今寫道
// Here we use the new provided setImageWithURL: method to load the web image with
//SDWebImageManager
[cell.imageView setImageWithURL:[NSURL URLWithString:[(Tweet*)[avatarsURL
objectAtIndex:indexPath.row]avatarURL]]
placeholderImage:[UIImage imageNamed:@"avatar.png"]];
//create the button
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setBackgroundImage:[NSURL URLWithString:[(Tweet*)[avatarsURL
objectAtIndex:indexPath.row]avatarURL]] forState:UIControlStateNormal];
//the button should be as big as the image in tableView
[button setFrame:CGRectMake(10, 10, 45, 45)];
//set the type of action for the button
[button addTarget:self action:@selector(imageSubViewAction:)
forControlEvents:UIControlEventTouchUpInside];
//more stuff
return cell }
然後我用這個動作,我在@選擇指定的上述
-(IBAction)imageSubViewAction:(id)sender{
[UIView beginAnimations:@"animateView" context:nil];
[UIView setAnimationDuration:0.5];
CGRect viewFrame = [subView frame];
viewFrame.origin.x += -300;
subView.frame = viewFrame;
subView.alpha = 1.0;
[self.view addSubview:subView];
[UIView commitAnimations];
所以我知道我必須行動增加首先解僱subView,但首先要做的事情。
目前爲止,這似乎對細胞沒有任何影響,我不確定接下來要採取哪些步驟才能使其發揮功能。
手勢方法是否完全禁用了didselectindexrow的功能?因爲我想有兩個。
看起來好像這種方法只需在單元格內添加一個按鈕,然後給該按鈕一個動作就可以工作,但我有點失落,無法繼續我的旅程。
再次感謝我非常感謝幫助!
}
現在看到您的代碼,我看到您正在使用內置的UITableViewCell.imageView。我以爲你有一個自定義的單元格。在你的情況下,我只是讓你的UIButton的backgroundColor設置爲'[UIColor clearColor]'而不是背景圖像。我認爲你只需要將你的按鈕作爲子視圖添加到單元格中,例如'[cell addSubview:button]'和[cell bringSubviewToFront:button]'。這樣,圖片的延遲加載和清晰的按鈕就位於頂部。 – nekno 2011-06-07 01:17:24
謝謝,我感謝您的洞察力!我正在處理其餘的部分。只需在單元格中添加按鈕是有意義的。我已經有了一個動畫和子視圖,我只需要將它實現到單元格中......我肯定會更新這篇文章,當我確定將來爲任何其他人試圖實現這一目標時會更新這篇文章。非常感謝! – FreeAppl3 2011-06-07 01:59:33
嗯,我得到它的工作......難的部分!現在我似乎無法擺脫那個麻煩的按鈕...我已經嘗試了一切,甚至採取了放置在一個圖像,所以我打開Photoshop的空白image.png並把它放在.....猜猜還是白色白色的藍色選擇... [按鈕setBackgroundImage:[UIImage imageNamed:@「noimage.png」] forState:UIControlStateNormal]; [button setBackgroundColor:[UIColor clearColor]];這些工作都沒有,我嘗試了其他幾種方法來嘗試......當像這樣簡單的事情成爲問題時,我會笑起來 – FreeAppl3 2011-06-07 03:29:55