2016-04-13 16 views
0

私の(静的な)セルのコードに奇妙な問題があります。複数のセルにはUIButtonがあります。私はそれをクリックしても問題ありませんが、ボタンの隣の領域をクリックすると(セル自体に残っています)、グレーに変わります。ボタンの代わりにセル自体をクリックすると静的なセルのボタンが消えます

私は次のコードで押されたときに白にセルの背景を変更しようとしました:

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { 
    let myBackView=UIView(frame:cell.frame) 
    myBackView.backgroundColor = UIColor.clearColor() 
    cell.selectedBackgroundView = myBackView 

} 

が、問題はまだそこにあります。 When the cell itself isn't pressed この静的セルは When I pressed the cell (not the button) を押していないときに、私は、セル(NOTセル内のボタン)を押したときにこれがあるさ

答えて

1

UITableViewCellsを選択するときにこれが一般的な問題であり、場合Why do all backgrounds disappear on UITableViewCell select?

を見ますあなたは、セルが選択されることを意図してthis delegate methodを実装していない:

- (NSIndexPath * _Nullable)tableView:(UITableView * _Nonnull)tableView willSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath 

indexPathがあなたのセルのうちの1つである場合nilを返します。これにより、このセルの選択が無効になります。

選択したいセルが1つもない場合は、さらに簡単です。UITableView's allowsSelectionNOに設定するだけです(これはInterface Builderでも行うことができます)。

+0

こんにちは、私はいくつかの細胞を選択する必要があります。私は "willSelectRowAtIndexPath"を試しましたが、問題を解決できませんでした(作業が必要なセルを選択できず、ボタンがまだ消えています)。私は7つのスタティックセルを使用しているからですか? – SoundShock

+0

投稿した最初のリンクを見ましたか? (https://stackoverflow.com/questions/7053340/why-do-all-backgrounds-disappear-on-uitableviewcell-select)私はボタンが消えて、その背景が透明になり、あなたのイメージとテキストが白であるとは思わないもう何も見えません。 –

+0

こんにちは、私のために働く解決策を見つけました:私は静的なセルをIBにリンクしてコードにリンクしてから、単に 'mailCell.selectionStyle = UITableViewCellSelectionStyle.None'を実行します。これでボタンは機能し続けましたが、行為を消す。 – SoundShock

関連する問題