以编程方式将UILabel添加到UICollectionViewCell

时间:2017-09-25 14:39:58

标签: swift3 uicollectionviewcell

我有一个UICollectionView,它以瀑布式布局呈现图像,效果很好。我现在正试图在每个图像上添加描述。挑战是我试图以编程方式添加UILabel,但它没有出现。我确定label.text包含文本。

import appJar as aJ

class App(aJ.gui):
    def __init__(self, *args, **kwargs):
        aJ.gui.__init__(self, *args, **kwargs)

    def winfo_screenheight(self):
        #   shortcut to height
        #   alternatively return self.topLevel.winfo_screenheight() since topLevel is Tk (root) instance!
        return self.appWindow.winfo_screenheight()

    def winfo_screenwidth(self):
        #   shortcut to width
        #   alternatively return self.topLevel.winfo_screenwidth() since topLevel is Tk (root) instance!
        return self.appWindow.winfo_screenwidth()


app = App('winfo')
height, width = app.winfo_screenheight(), app.winfo_screenwidth()
app.setGeometry(int(width / 2), int(height / 2))
app.addLabel('winfo_height', 'height: %d' % height, 0, 0)
app.addLabel('winfo_width', 'width: %d' % width, 1, 0)
app.go()

1 个答案:

答案 0 :(得分:1)

您在代码中创建了两个UILabel个实例 - 第一个位于var label: UILabel = UILabel(),并且这个实例已添加到init中的contentView。

稍后,您在self.label中使用新实例覆盖layoutSubViews(),但此新实例永远不会添加到contentView。

重新排列代码,以便只创建和添加一个实例。