2017-04-03 44 views
0

我設計一個表格視圖在iOS漢堡菜單的子視圖中swift3標籤不UITableView的

顯示我想要顯示在菜單標籤通知的數量。

let pieNotifi = UIImageView(frame: CGRectMake(cell.contentView.frame.size.width-40, cell.contentView.frame.size.height/2-7, 30, 20)) 
      let pieLabNotifi = UILabel(frame: CGRectMake(cell.contentView.frame.size.width-40, cell.contentView.frame.size.height/2-7, 30, 20)) 

      let subviews = self.view.viewWithTag(100001) 
      if myGlobal.unreaddot != 0 {  //just a count for notifcaiton 
       if subviews == nil { 

        pieNotifi.tag = 100001; 
        cell.addSubview(pieNotifi) 
        let pieShape = pieNotifi.layer; 
        pieShape.backgroundColor = UIColor.red.cgColor 
        pieShape.cornerRadius = pieShape.bounds.width/4 

        pieLabNotifi.textColor = UIColor.white 
        pieLabNotifi.adjustsFontSizeToFitWidth = true; 
        pieLabNotifi.minimumScaleFactor = 0.5 
        pieLabNotifi.textAlignment = NSTextAlignment.center 
        pieNotifi.addSubview(pieLabNotifi) 
        pieLabNotifi.text = String(myGlobal.unreaddot) 

       } 
       else{ 
        pieLabNotifi.text = String(myGlobal.unreaddot) 
       } 

      }else{ 
       let subviews = cell.viewWithTag(100001) 
       subviews?.removeFromSuperview() 
       print("remove red dot") 
      } 

但是,它只顯示紅色的顏色層,但沒有標籤。請參閱下面 enter image description here

所示的畫面我曾試圖設置

.sendSubview(to back:) 
.bringSubview(toFront:) 
.layer.zPosition = 1 

所有這些關鍵字對我不起作用。

任何人都可以建議我解決這個問題嗎?

回答

0

我認爲這個問題是你的標籤的位置。您將標籤的x座標設置爲cell.contentView.frame.size.width-40,但您想將其添加到紅色圖像視圖中。將x位置和y位置更改爲0(或您需要的任何值)可以解決您的問題。我相應地修改了您的代碼:

let pieNotifi = UIImageView(frame:CGRectMake(cell.contentView.frame.size.width-40,cell.contentView.frame.size.height/2-7,30,20) ) 讓pieLabNotifi =的UILabel(幀:CGRectMake(0,0,30,20))

 let subviews = self.view.viewWithTag(100001) 
     if myGlobal.unreaddot != 0 {  //just a count for notifcaiton 
      if subviews == nil { 

       pieNotifi.tag = 100001; 
       cell.addSubview(pieNotifi) 
       let pieShape = pieNotifi.layer; 
       pieShape.backgroundColor = UIColor.red.cgColor 
       pieShape.cornerRadius = pieShape.bounds.width/4 

       pieLabNotifi.textColor = UIColor.white 
       pieLabNotifi.adjustsFontSizeToFitWidth = true; 
       pieLabNotifi.minimumScaleFactor = 0.5 
       pieLabNotifi.textAlignment = NSTextAlignment.center 
       pieNotifi.addSubview(pieLabNotifi) 
       pieLabNotifi.text = String(myGlobal.unreaddot) 

      } 
      else{ 
       pieLabNotifi.text = String(myGlobal.unreaddot) 
      } 

     }else{ 
      let subviews = cell.viewWithTag(100001) 
      subviews?.removeFromSuperview() 
      print("remove red dot") 
     } 

也試圖看到UiDebugger你的標籤位置,你可能會發現,在標籤錯誤的位置加入。

1

您並未將子視圖添加到UITableView。根據你的代碼,你正在爲UITableView的單元添加一個子視圖。 嘗試將子視圖添加到該單元格的內容來看,像:

cell.contentView.addSubView(pieNotifi) 
+0

對不起Jitendra,這個解決方案沒有解決我的問題。我的紅色餡餅層能夠顯示。在該圖層的頂部,我期望顯示一個標籤,該標籤目前無法顯示 –

相關問題