我有一个名为tagButton的UIButton和一个名为tagsView的UIScrollView。
在我的-(void)renderTags
方法中,我做
[[self.tagsView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)];
...清除甲板,然后我走过一对名为allTags
和activeTags
的阵列,交替为用户使用的每个标签创建“点亮”和“不点亮”按钮在应用程序中。到现在为止还挺好。但是当我将新创建的UIButton添加到我的视图中时,就这样:
[self.tagsView addSubview:tagButton];
[tagButton release];
...第一次,视图上没有任何反应,标签按钮不显示。第二次我将相同的字符串放入(触发-toggleTag
而不是-createTag
,但最终在同一个渲染方法中),我收到控制台消息modifying layer that is being finalized = 0x82b3ec0
。
如果我发表评论[tagButton release]
,一切正常。那么,是什么给出的?我认为在superview中添加子视图会使superview保留它。我不打算再次处理这个按钮,除非告诉它在我下次渲染我的标签列表时将其自行删除,所以看起来视图控制器应该释放它。
答案 0 :(得分:1)
你的问题可能是你没有开始使用标签Button,因此没有必要发布它...希望有帮助