新手求教如何代码实现UIView,同时使得里面的控件能够显示正常

Cafe_ING 2012-11-29 05:40:40
我要实现在界面上有一个UIView随着上面的那个UIView的高度改变而往下移,实现过程中出现了许多的问题。下面是我的界面布局:

第一个红框是那个会伸缩的UIView,我要向里面添加一些数据,会出现多行,所以它的高度会变大。
下面这个框是一个UIView,这个UIView里面包含了框住的那些控件,它应该是要随着上面的那个UIView的高度改变而往下移的。
我写的一段代码实现了让下面的UIView往下移,但是它移动后,里面的控件都变形且位移了。下面是我写的下移UIView的代码:

// 首先获取UIView的原始frame
CGRect rect = self.infoView.frame;
// 将这个UIView从视图中移出
[self.infoView removeFromSuperview];
// 改变它的y坐标
CGFloat infoY = self.numView.frame.size.height + self.numView.frame.origin.y + 8.0f;
rect.origin.y = infoY;
self.infoView.frame = rect;
// 将更改了y坐标后的UIView重新添加到视图中
[self.myScroll addSubview:self.infoView];


下面是没有添加这段代码的运行出来的效果,可以看出部分空间内重叠了:


接下来是添加了代码后运行出来的效果,可以看出下移了的那个UIView中的控件都变形而且位移了:


这些控件的低层是一个ScrollView,当下移得很多,移出了界面时,我的ScrollView好像也无效了,不可以上下滚动了。
该问题急待解决啊!!!求各位大神指教啊!!!
...全文
234 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫桦沐阳 2012-12-06
  • 打赏
  • 举报
回复
正常肯定是可以的,至于你的为什么不行。 很抱歉,凭你的描述确实分析不出来。 不要直接改变viewcontroller的view为scrollview。这样做,动做好像是不正常的。 应该在view上再加一个scrollview
Cafe_ING 2012-12-05
  • 打赏
  • 举报
回复
我使用了另外一种ViewController实现了我想要的效果。
引用 2 楼 ynb119 的回复:
可以看出你的scrollView横向是可以移动的,而且设定了View的autosizing模式,否则不会发生变形。 而且可能你所说的view原来不属于scrollview的子View 你得重新规划一下画面结构。 还有不用删除了再添加,直接修改Frame就好了。 然后view向下移动时,别忘了改变scrollView的contentsize,否则就会导致你所说的sc……
我所说的那个View是属于ScrollView的子View的,只是我直接改变该View的frame(就只是改了y坐标的),界面显示出来的效果确实这个view并没有下移啊。。。
枫桦沐阳 2012-12-03
  • 打赏
  • 举报
回复
可以看出你的scrollView横向是可以移动的,而且设定了View的autosizing模式,否则不会发生变形。 而且可能你所说的view原来不属于scrollview的子View 你得重新规划一下画面结构。 还有不用删除了再添加,直接修改Frame就好了。 然后view向下移动时,别忘了改变scrollView的contentsize,否则就会导致你所说的scrollView不起作用
Snake_Jay 2012-11-30
  • 打赏
  • 举报
回复
你可以直接移view的位置,比如说center ....完全没必要把它removeFromSuperView再add..

29,027

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧