首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定控件是否在显示区域内

问如何确定控件是否在显示区域内
EN

Stack Overflow用户
提问于 2014-07-18 21:30:07
回答 3查看 36关注 0票数 0

如何确定控件是否在iOS中的显示区域内?

例如:

有一个UILabel,它会从屏幕的右边滑到左边,直到它从屏幕上滑落到边框的左边,我该如何确定它是否滑出了它的边框?

我使用动画块模型。当动画完成时,我们可以确保标签已经超过0;

现在我要删除标签。

例如:

代码语言:javascript
复制
[UIView animateWithDuration:5.5
                      delay:0.1
                    options: UIViewAnimationOptionCurveLinear | UIViewAnimationOptionRepeat
                 animations:^
 {

     [UIView setAnimationRepeatCount:3];

     CGRect lsframe = labelShow.frame;
     lsframe.origin.x = 0;
     lsframe.origin.y = dphv.mImgContent.frame.origin.y;
     lsframe.size.width = 8;
     lsframe.size.height = imgH;


     CGRect frame = labelShow.frame;
     frame.origin.x = 600;
     labelShow.frame = frame;

     frame = labelShow.frame;
     frame.origin.x = -180;
     labelShow.frame = frame;

 }
 completion:^(BOOL finished)
 {
     NSLog(@"animation finished");

     labelShow = nil; //but this line has error, how can I do this;
 }];

我使用这个例子,但是这个例子有一个非常严重的问题,导致内存增加,甚至超过100米,但我不知道如何修复改革。这是网址:https://github.com/yinkou/OBaconView

EN

回答 3

Stack Overflow用户

发布于 2014-07-18 21:37:00

标签有一个frame属性,它让您知道它在其superview中的位置。superview有一个bounds属性,可以让您知道内容在哪里。使用这些属性,您可以检查标签的框架是否在superview的范围内。

票数 1
EN

Stack Overflow用户

发布于 2014-07-18 21:35:49

检查是否为移动的标签设置了for .源.x参数。假设父视图的x参数与屏幕的x= 0对齐,标签的x值将小于0,您的标签就不在视图中了。

票数 0
EN

Stack Overflow用户

发布于 2014-07-18 21:48:36

还可以使用-convertRect:toView:方法查找视图落入视图控制器视图的位置。使用从方法返回的rect,检查是否有任何角落在主视图中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24834081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档