在iOS中移动ui元素有没有更快捷的方法?
我发现自己经常这样做:在iOS中移动ui元素有没有更快捷的方法?,ios,uikit,Ios,Uikit,我发现自己经常这样做: webView.frame = CGRectMake(webView.frame.origin.x, otherView.frame.origin.y + otherView.frame.size.height + 10, webView.frame.size.width, webView.frame.size.height); 显然,这段代码中有很多是重复的。我只是向下移动元素,但我必须创建一个新的CGRect,因为我不能直接访问属性 有没有一种更简单的方法可以在运行
webView.frame = CGRectMake(webView.frame.origin.x, otherView.frame.origin.y + otherView.frame.size.height + 10, webView.frame.size.width, webView.frame.size.height);
显然,这段代码中有很多是重复的。我只是向下移动元素,但我必须创建一个新的CGRect,因为我不能直接访问属性
有没有一种更简单的方法可以在运行时移动我所缺少的元素?CGRectOffset会有帮助吗
这会有帮助吗
这不是一种完全不同的方式,但如果你问我: CGRect newRect = webView.frame; newRect.origin.y = otherView.frame.size.height+10; webView.frame = newRect; CGRect newRect=webView.frame; newRect.origin.y=otherView.frame.size.height+10; webView.frame=newRect;
我发现这也更具可读性。在这个特定的示例中,大约减少40%的字符数!:p这不是一种完全不同的方式,但如果你问我: CGRect newRect = webView.frame; newRect.origin.y = otherView.frame.size.height+10; webView.frame = newRect; CGRect newRect=webView.frame; newRect.origin.y=otherView.frame.size.height+10; webView.frame=newRect;
我发现这也更具可读性。在这个特定的示例中,大约减少40%的字符数!:P/P>< P>@ WASABII有正确的答案,只要减少代码量,但另一种考虑的方法是在UIVIEW上创建一个类别。以下是一些关于类别的文档: 基本上,类别允许您将功能添加到您不控制的类(甚至是您控制的类) Xcode 4.2提供了一个模板,用于在“新建文件”对话框下创建类别,因此如果可以,请使用该模板 在这种情况下,您可以使用名为
-(void)moveDownByIncrement:(float)increment
然后按照你喜欢的方式实现移动代码(但真正使用@wasabii的方法)
关于类别,需要记住以下几点:
@ Wasabii有正确的答案,只要减少代码量,但另一种考虑的方法是在UIVIEW上创建一个类别。以下是一些关于类别的文档:
基本上,类别允许您将功能添加到您不控制的类(甚至是您控制的类) Xcode 4.2提供了一个模板,用于在“新建文件”对话框下创建类别,因此如果可以,请使用该模板 在这种情况下,您可以使用名为-(void)moveDownByIncrement:(float)increment
然后按照你喜欢的方式实现移动代码(但真正使用@wasabii的方法)
关于类别,需要记住以下几点: