IOS 不像android一样,有神view。gone的方法,可以既隐藏当前控件,也可以使底下控件上移。因此,这个自己写个方法:
例如:
//类似于android里的View.Gone - (void)ViewGone:(UIView *)senderView{ if (senderView.hidden == NO) { senderView.hidden = YES; //获取源控件的View NSInteger targetY = senderView.frame.origin.y; NSInteger targetHeightY = senderView.frame.origin.y+senderView.frame.size.height+10; // // NSLog(@"%d",targetY); BOOL isHidden = senderView.hidden; if (isHidden) { for (UIView *view in self.view.subviews) { // NSLog(@"%@",view); NSInteger tempY = view.frame.origin.y; //如果遇到view的Y坐标等于目标的Y坐标,且不为hidden的话,则暂停,恐会覆盖调 if(tempY == targetY && !view.hidden){ break; } if (tempY >= targetHeightY ) { if ([view isMemberOfClass:[UIImageView class]]) { continue; } //上移到目标位置,达到隐藏的效果 CGRect tmpFrame = CGRectMake(view.frame.origin.x, view.frame.origin.y-senderView.frame.size.height-10, view.frame.size.width, view.frame.size.height); view.frame = tmpFrame; } } //senderView = nil; } } }
同理,显示出来的效果是:
//类似于android里的View.Gone - (void)ViewVis:(UIView *)senderView{ if (senderView.hidden == YES) { senderView.hidden = NO; //获取源控件的View NSInteger targetY = senderView.frame.origin.y; NSInteger targetHeightY = senderView.frame.origin.y+senderView.frame.size.height+10; // // NSLog(@"%d",targetY); BOOL isHidden = senderView.hidden; if (!isHidden) { for (UIView *view in self.view.subviews) { // NSLog(@"%@",view); NSInteger tempY = view.frame.origin.y; //如果遇到view的Y坐标等于目标的Y坐标,且不为hidden的话,则暂停,恐会覆盖调 if(tempY == targetY && !view.hidden && view != senderView){ if ([view isMemberOfClass:[UIImageView class]]) { continue; } //上移到目标位置,达到隐藏的效果 CGRect tmpFrame = CGRectMake(view.frame.origin.x, view.frame.origin.y+senderView.frame.size.height+10, view.frame.size.width, view.frame.size.height); view.frame = tmpFrame; } if (tempY >= targetHeightY) { if ([view isMemberOfClass:[UIImageView class]]) { continue; } //上移到目标位置,达到隐藏的效果 CGRect tmpFrame = CGRectMake(view.frame.origin.x, view.frame.origin.y+senderView.frame.size.height+10, view.frame.size.width, view.frame.size.height); view.frame = tmpFrame; } } //senderView = nil; } } }
相关推荐
利用VC编程,通过改变RGB的值来改变颜色,还有透明度的滑条可以改变透明效果
2、拉个NotifyIcon控件,将属性Visable设置成False,在Text属性上随便填些文件。 3、实现Form的SizeChanged事件,代码如下: if(this.WindowState == FormWindowState.Minimized) //判断是否最小化 { this....
模拟android登陆带验证码的网站69
信息系统开发软件 很好很实用的一个软件 哈哈哈哈哈哈哈
A RecyclerView demo that central item can be scaled. ...just use the method to set the visable item number: setMaxVisableItemNum(int maxItemNum) Note: the maxItemNum should be an odd number.
https://jsfiddle.net/fcpc6utm/关于此插件为VueJS(2.x)演示添加了v-visible指令VueVisible v-visible指令jsFiddle实时演示:https://jsfiddle.net/fcpc6utm/关于此插件添加了一个v-visible指令(类似于本机v-show...
visable in this district and should not be encouraged by administrators or teachers as a means of ensuring better academic performance. REFERENCES DIETZ, C. H., & WILSON, B. J. (1985). Beginning ...
visable in this district and should not be encouraged by administrators or teachers as a means of ensuring better academic performance. REFERENCES DIETZ, C. H., & WILSON, B. J. (1985). Beginning ...
每个picturebox初始的visable属性都设为false,即所有的方块初始不可见; 每个picturebox的tag属性记录该块的数字; 使用随机数产生随机位置与随机数(2或4); 将此位置picturebox的图片更新,并更新tag,...
ExcelHelper(string template, string path, bool Visable) 构造函数,调用CreatExcel void CreatExcel(string template,string path,bool Visable) 创建Excel表格 void SelectSheet(int index) 选择sheet工作表 ...
1.校验的数据结构如下: 2.html结构 visible.sync=visable width=40% before-close=cancel> <el label=Id prop=id v-if=formData.id>
搞了个不是局部刷新的百度搜索框下拉提示效果,在被领导批了n次后,问了n次后,弄出来了,真心感觉我这个小脑壳,太不灵光了,太懒了。记录下来,以免忘记。 大致思路:前台放一个...但是这里的隐藏不是使用visable来