Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何更新子视图?_Objective C_Cocoa Touch_Uikit_Subview - Fatal编程技术网

Objective c 如何更新子视图?

Objective c 如何更新子视图?,objective-c,cocoa-touch,uikit,subview,Objective C,Cocoa Touch,Uikit,Subview,我想续订这样创建的子视图: CGRect keyLabelRect = CGRectMake(2, [heightofrow intValue]*i, [breitescroller2 intValue]-2,[heightofrow intValue]); UILabel *keyLabel = [[UILabel alloc] initWithFrame:keyLabelRect]; [Inhalt1 addSubview: keyLabel]; [keyLabel release]; 通

我想续订这样创建的子视图:

CGRect keyLabelRect = CGRectMake(2, [heightofrow intValue]*i, [breitescroller2 intValue]-2,[heightofrow intValue]);
UILabel *keyLabel = [[UILabel alloc] initWithFrame:keyLabelRect];
[Inhalt1 addSubview: keyLabel];
[keyLabel release];
通过调用一个方法,“breitescroller2”得到一个新值,这个术语被第二次和第三次调用,依此类推。我的问题是,带有旧位置的“旧UILabel”保留在视图中,但我想用新位置替换它。有简单的方法吗?通过删除整个子视图(keyLabel removeFromSuperView),更新的子视图也将被删除


感谢您的帮助!

我非常确定您首先需要通过removeFromSuperview删除旧标签。

我非常确定您首先需要通过removeFromSuperview删除旧标签。

如果您这样做,只需修改现有UILabel的属性而不继续创建新标签,是否更有意义时间?在我看来,你现在这样做,特别是因为你想用新的来替换旧的,在内存方面有点效率低下


不过,我只是Cocoa和Obj-C的初学者,所以我可能缺少一些使我的建议不可行的东西。

如果你这样做,简单地修改现有UILabel的属性而不是每次都创建一个新的UILabel不是更有意义吗特别是,因为您想用新的替换旧的,所以内存效率有点低


不过,我只是Cocoa和Obj-C的初学者,所以我可能缺少了一些使我的建议不可行的东西。

是的,你是对的,我将改变我的方法来优化性能。正确:为什么要继续重新创建它?问题不在于内存,而在于CPU开销。只改变标签的大小要有效得多ext.在移动设备上,CPU循环(扩展为电源)重要的是,效率应该是您最关心的问题之一。是的,您是对的,我将改变我的方法来优化性能。正确的:为什么要继续重新创建它?问题不在于内存,而在于CPU开销。只需更改标签的文本,效率要高得多。在CPU循环(扩展为电源)的移动设备上重要的是,效率应该是您最关心的问题之一。我通过删除“UILabel*keyLabel”更改了我的方法,现在我在标题中创建了标签,现在我可以使用“removeFromSuperview”,thx。我通过删除“UILabel*keyLabel”更改了我的方法,现在我在标题中创建了标签,现在我可以使用“removeFromSuperview”,thx。