2017-04-03 49 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,这个解决方案没有解决我的问题。我的红色馅饼层能够显示。在该图层的顶部,我期望显示一个标签,该标签目前无法显示 –

相关问题