我有一个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()
答案 0 :(得分:1)
您在代码中创建了两个UILabel
个实例 - 第一个位于var label: UILabel = UILabel()
,并且这个实例已添加到init
中的contentView。
稍后,您在self.label
中使用新实例覆盖layoutSubViews()
,但此新实例永远不会添加到contentView。
重新排列代码,以便只创建和添加一个实例。