我有這個向上的箭頭按鈕裏面的UITableViewCell應該旋轉180度時單擊或當方法被調用到別處。當你點擊按鈕並更新sender.transform時,這實際上起作用。UITableViewCell內的UIView轉換不起作用
@IBAction func rotate(sender: UIButton) {
if (top)
{
UIView.animateWithDuration(0.5, animations: {
sender.transform = CGAffineTransformMakeRotation((360.0 * CGFloat(M_PI))/180.0)
})
}
else
{
UIView.animateWithDuration(0.5, animations: {
sender.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI))/180.0)
})
}
}
如果我更改代碼,讓我引用按鈕,而不是從的UITableViewCell到這樣的事情,這是行不通的。該按鈕不旋轉。
IBAction func rotate(sender: UIButton) {
let detailCell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0)) as! DetailCell
if (top)
{
UIView.animateWithDuration(0.5, animations: {
detailCell.arrowButton.transform = CGAffineTransformMakeRotation((360.0 * CGFloat(M_PI))/180.0)
})
}
else
{
UIView.animateWithDuration(0.5, animations: {
detailCell.arrowButton.transform = CGAffineTransformMakeRotation((180.0 * CGFloat(M_PI))/180.0)
})
}
}
基本上,我希望能夠從的UITableViewCell在不涉及點擊按鈕的另一種方法旋轉按鈕,所以我需要能夠從的UITableViewCell引用按鈕並旋轉它。什麼是正確的方法來做到這一點?
我可能沒有指定它,但是arrowButton是我自定義的UITableViewCell中的一個IBOutlet。我期待發件人和detailCell.arrowButton是相同的,都應該旋轉。只有來自IBAction的發件人纔會旋轉,並且只有在操作來自點擊時纔可用。如果我點擊,而不是發件人,我專門引用了單元格中的箭頭按鈕,它什麼也不做。 – inquiringmind
你可能有一個破損的插座。日誌arrowButton。我敢打賭它是零。 –
我不認爲它是零,但我沒有登錄它。當我把它放在cellForRowAtIndexPath中時,它不會做動畫,但它將它旋轉180度,但即使我嘗試重新加載數據並根據某個標誌旋轉它,我也無法再次旋轉它。 – inquiringmind