簡體   English   中英

從Superview隱藏/刪除后,UIImageView仍然可見

[英]UIImageView still visible after hiding/removing from superview

我希望您能找到解決我問題的方法,因為我沒有任何想法了。

我有一個表格視圖,其中包含多個單元格。 一些單元格在其contentView上具有另一個視圖作為子視圖。

此附加視圖具有2個子視圖:1個UIImageView和1個UILabel。

現在,當我點擊UIButton時,應該將UIImageView隱藏/刪除,並將UILabel的textColor更改為white(之前為black)。

UILabel更改了它的textColor,但UIImageView仍然可見,即使從其超級視圖中刪除了UIImageView也是如此。

代碼看起來像這樣。
_adsc_dot_view是UIImageView
_adsc_text_label是UILabel

- (void)mc_set_selected:(BOOL)selected {
    if (selected) {
        _adsc_dot_view.hidden = YES;
        _adsc_text_label.textColor = [UIColor whiteColor];
    }
    else {
        _adsc_dot_view.hidden = NO;
        _adsc_text_label.textColor = [UIColor blackColor];
    }
}

您可能會發現一些對這個問題有用的檢查:

1)確保您創建了一次被稱為_adsc_dot_view UIImageView

2)進行調試,在斷點處標記mc_set_selected ,並在日志中檢查視圖層次結構,是否具有所需數量的UIImageView

po [[UIWindow keyWindow] recursiveDescription]

或檢查此高級SO答案: 我需要檢查iPhone程序上的視圖層次結構

3)如果使用Interface Builder,請確保您具有正確的類型(而不是UIImage )和正確的引用

您正在使用UITableView,並將UIImageView和UILabel添加為UITableViewCell中的子視圖。 因此,我認為您應該使用[self.tableView reloadData]重新加載UITabeView; 或[YourTableName reloadData]; 隱藏並顯示UIImageView方法之后。 否則,您應該使用UIImageView標簽或使用UITableViewCell索引路徑隱藏和顯示UIImageView。

7上的目標設備是什么? 如果是,那么請嘗試對單元格的子視圖進行布局。 我遇到了一個類似的問題,即單元在iOS 7上沒有刷新。

Just reload table view cell after Remove/Hide ImageView.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM