Ios 是否将UILabel置于集合视图的中心?

Ios 是否将UILabel置于集合视图的中心?,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,我希望UILabel以背景色显示在集合视图的中心。然而,当我在我的故事板中将一个拖到视图上并设置其背景色时,它似乎占据了整个视图。取而代之的是,我希望它只是占据一个小的矩形部分,它只是围绕着它的文本。以下是我所拥有的以及我想要的: 当前: 目标: 有没有办法手动设置标签的高度和宽度?我希望它继续当前在集合视图中生成的单元格上显示的行为,但只占用有限的空间,而不是占用整个视图。 拖动UIView并将其放置在集合视图中以完全覆盖它 拖动UILabel并在情节提要中设置其高度和宽度约束,同时在水平

我希望UILabel以背景色显示在集合视图的中心。然而,当我在我的故事板中将一个拖到视图上并设置其背景色时,它似乎占据了整个视图。取而代之的是,我希望它只是占据一个小的矩形部分,它只是围绕着它的文本。以下是我所拥有的以及我想要的:

当前:

目标:

有没有办法手动设置标签的高度和宽度?我希望它继续当前在集合视图中生成的单元格上显示的行为,但只占用有限的空间,而不是占用整个视图。

  • 拖动UIView并将其放置在集合视图中以完全覆盖它
  • 拖动UILabel并在情节提要中设置其高度和宽度约束,同时在水平和垂直方向上设置中心约束
  • 您还需要在代码中设置集合视图的高度和宽度,如下所示

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: collectionView.frame.width, height: cellHeight)
    }
    
      • 拖动UIView并将其放置在集合视图中以完全覆盖它
      • 拖动UILabel并在情节提要中设置其高度和宽度约束,同时在水平和垂直方向上设置中心约束
      • 您还需要在代码中设置集合视图的高度和宽度,如下所示

        func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: collectionView.frame.width, height: cellHeight)
        }
        
      编辑: 感谢@robmayoff评论说,在集合视图控制器的情况下,此解决方案是不可能的

      仅当您有常规视图控制器而没有集合视图控制器时,此答案才适用

      我之所以没有删除它,是因为——希望如此——它可能对其他一些观众有用


      我建议:

      • 让collectionView后面的标签:
      从这里开始(文件大纲):

      将标签拖动到collectionView的顶部(而不是作为子视图)。确保两个组件位于同一层次结构中,但标签位于collectionView后面。一旦你做到了这一点

      • 双击标签(也从文档大纲中):
      现在您可以将它移动到视图的中心(例如使用键盘上的箭头),请确保它位于屏幕的中心

      • 添加适当的约束,使标签始终位于屏幕中心

      • 使collectionView的背景透明(颜色清晰)

      就这样

      我希望这有帮助。

      编辑: 感谢@robmayoff评论说,在集合视图控制器的情况下,此解决方案是不可能的

      仅当您有常规视图控制器而没有集合视图控制器时,此答案才适用

      我之所以没有删除它,是因为——希望如此——它可能对其他一些观众有用


      我建议:

      • 让collectionView后面的标签:
      从这里开始(文件大纲):

      将标签拖动到collectionView的顶部(而不是作为子视图)。确保两个组件位于同一层次结构中,但标签位于collectionView后面。一旦你做到了这一点

      • 双击标签(也从文档大纲中):
      现在您可以将它移动到视图的中心(例如使用键盘上的箭头),请确保它位于屏幕的中心

      • 添加适当的约束,使标签始终位于屏幕中心

      • 使collectionView的背景透明(颜色清晰)

      就这样


      我希望这有帮助。

      你想要的Lable的框架,最后制作标签。Layel.MakStBooBosie= true:你确定标签是要作为集合的子视图吗?@ AHMADF我只希望它总是出现在视图的中间,有了一个插座,我可以更改它的文本和不透明性在viewcontroller外部拖动uiview,并在codeHold down命令中将其用作子视图。当您将标签拖动到集合视图上时,它将阻止将其添加为集合视图的子视图。你的收藏视图给了标签它是框架。你想要的标签的设置框架,最后制作标签。Layel.MakStBoBooe= Trtrue:你确定标签是要作为集合的子视图吗?@ AHMADF我只希望它总是出现在视图的中间,有了一个插座,我可以更改它的文本和不透明性在viewcontroller外部拖动uiview,并在codeHold down命令中将其用作子视图。当您将标签拖动到集合视图上时,它将阻止将其添加为集合视图的子视图。您的集合视图正在为标签提供其框架。您不能将标签放在集合视图控制器场景中集合视图的顶部。集合视图始终是集合视图控制器场景中的根视图。场景中的所有其他视图都必须是集合视图的后代。它们不能是它的同级。不能将标签放在集合视图控制器场景中集合视图的顶部。集合视图始终是集合视图控制器场景中的根视图。场景中的所有其他视图都必须是集合视图的后代。他们不可能是兄弟姐妹。