如何解决在从UIScrollView删除UIView时遇到问题
| 我正在尝试编写代码,以将播放器添加到基于对象的视图中,但是,我遇到了一些问题。 目前,如果我现在运行initView方法并在playerList中有4个已确认的工作Player对象,则滚动视图中将仅出现3个UIView,然后当我单击clear player按钮时,将仅删除最后一个(第3个)UIView。 附带说明,我的自定义按钮均未出现在UIViews中,我有一个图像应与它们一起加载,但不起作用。 在此先感谢您的帮助。- (void)clearPlayers {
for (Player* i in self.playerList) {
[i.viewPane removeFromSuperview];
}
[self.playerList removeAllObjects];
}
- (void)initView {
int Loc = 0;
int Count = 1;
int margin = 5;
int height = 100;
for (Player *p in playerList) {
UIView *playerView = [[UIView alloc] initWithFrame:CGRectMake(0,Loc,320.0,height)];
p.viewPane = playerView;
[playerView setBackgroundColor:[UIColor redColor]];
[scrollView addSubview:playerView];
UIButton *plus = [[UIButton alloc] initWithFrame:CGRectMake(200,10,(height - 5),(height - 5))];
UIImage *buttonImage =[[UIImage alloc] initWithContentsOfFile:@\"Metal_Plus_Up_2.png\"];
[plus setBackgroundImage:buttonImage forState:UIControlStatenormal];
[p.viewPane addSubview:plus];
[plus release];
[playerView release];
Loc = Loc + (height + margin);
Count = Count + 1;
}
[scrollView setContentSize:CGSizeMake(320.0,(height * Count) + (margin * Count))];
}
解决方法
问题:您是否已验证从initWithContentsOfFile返回的UIImage是否为nil?您可能需要完整的路径,而不仅仅是文件名
就不删除UIView的古怪程度而言,据我所见,您发布的所有内容看起来都不错。我唯一能想到的是,也许您没有将保留指定为viewPane属性的属性...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。