在该ViewDidLoad设置这个viewController:self.automaticallyAdjustsScrollViewInsets = NO
http://www.cocoachina.com/ask/questions/show/112647
很简单的问题UIScrollView addSubView居然出问题!!!
很简单的问题UIScrollView addSubView居然出问题!!!
问答版主招募令!
求助微博:
热门标签
- iOS
- HTML5
- cocos3d
- iPhone
- 微信
- Xcode
- UITableView
- iPhone
- iOS开发
- tableView
- Cocos2d
- app
- Objective-C
- UITableViewCell
- UIWebView
- Mac
- iPad
- UIscrollVIew
- UIView
- Cocos2d-x
- 图片
- view
- UIButton
- Cocoa
- NSString
- iphone开发
- UITextField
- xml
- ASIHTTPRequest
- Cell
本周问答荣誉榜
- zuo515592787
112 - major李小木
110 - zhouleizhao
90 - lisongsen
55 - zhoujiamin1992
50 - sandpiper
50 - e小明
50 - zangqilong
40 - 稂光雨
40 - lhshin
35
本月问答荣誉榜
- zhouleizhao
235 - dingdingsha
211 - sandpiper
208 - lisongsen
165 - yuanmeibin
155 - 炉饭饭
155 - major李小木
130 - zuo515592787
127 - 稂光雨
115 - 去寻找1991
115
0关注
我新建了一个带有xib的TestViewController,然后在它的viewDidLoad里面添加了如下代码:
UIScrollView *myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(30, 180, 100, 74)];
myScroll.backgroundColor = [UIColor lightGrayColor];
UIView *sbv = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
sbv.bounds = CGRectMake(0, 0, 30, 30);
sbv.backgroundColor = [UIColor brownColor];
[myScroll addSubview:sbv];
[self.view addSubview:myScroll];
然后在appDelegate里面让self.window.rootViewController =我的这个viewController。这时sbv能正常显示在myScroll上。
但是,当我在appDelegate里面这么做时就出问题了:
TestViewController *tvc = [[TestViewController alloc] init];
UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:tvc];
[self.window setRootViewController:nvc];
这时为毛sbV这么跑myScroll下面去了??sbv的y坐标貌似与myScroll的左上角的y坐标相差44!我X!请问我这哪里出问题了??
5 个回答
回复问题被顶起+10个荣誉值奥!- 果然是高人啊,我把那些代码放到viewDidAppear里面就好了。请问这是什么原因啊??平时UiView添加子视图时都是在viewDidload里面添加的,也没什么问题,我就是发现UiScrollView在viewDidLoad里面添加子视图就出问题,以前咋没发现 无助的tom 2014-05-28 09:58
- 还是这句话,viewDidLoad里的frame不准http://www.cocoachina.com/ask/questions/show/109918#41252 wfqr0001 2014-05-28 10:02
- 我设置的frame并不是viewController自身的frame啊,我只是创建一个子视图myScroll,只是设置myScroll的frame,如果将myScrollView换成UiView,然后给这个UiView添加子视图就没有问题。正如楼下说的“用导航控制器为根视图的情况下,加载的UIScrollView会发生改变” 无助的tom 2014-05-28 10:28
- 回复
因为你添加了UINavigationController
系统默认的navigationbar的高度就是44,你如果把你的ViewController添加到了navigationController里的话,所有在ViewController里的View的Origin Y 都会加44.
TestViewController *tvc = [[TestViewController alloc] init
这儿检查一下,要用nib加载你的vc吧。。不是alloc]init 方法创建。。你试试。。