大佬教程收集整理的这篇文章主要介绍了ios – 自动调整从nib加载的子视图时出现意外行为,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
为了实现这一点,我开始制作一个非常大的视图(mainView),它是UIScrollView的子视图,但是它太大了所以我决定为每个部分创建一个nib@L_262_3@.我将每个nib@L_262_3@的@L_262_3@所有者设置为我的MainFormViewController,然后为每个视图创建一个插座:section1View,section2View等.我在-viewDidLoad中加载剖面视图,如下所示:
// Section 1 UINib *nib1 = [UINib nibWithNibName:@"Section1" bundle:nil]; [nib1 instantiateWith@R_696_11125@r:self options:nil]; CGRect frame1 = self.section1View.frame; frame1.origin.y = 10; [self.section1View setFrame:frame1]; [self.mainView addSubview:self.section1View]; // mainView is the one I add to the scrollView // Section 2 (goes 10px below section 1) UINib *nib2 = [UINib nibWithNibName:@"Section2" bundle:nil]; [nib2 instantiateWith@R_696_11125@r:self options:nil]; CGRect frame2 = self.section2View.frame; frame2.origin.y = frame1.origin.y + frame1.size.height + 10; [self.section2View setFrame:frame2]; [self.mainView addSubview:self.section2View]; // Same approach for all other sections // ...
现在这似乎工作正常,但我的问题是,当我更改这些部分子视图的高度时,我无法让其余的子视图适应高度变化.例如,如果我更改第一部分的高度:
CGRect mainFrame = self.mainView.frame; CGRect section1Frame = self.section1View.frame; section1Frame.size.height -= 150; mainFrame.size.height -= 150; [UIView animateWithDuration:0.3 animations:^(){ self.section1View.frame = section1Frame; self.mainView.frame = mainFrame; self.scrollView.contentSize = mainFrame.size; } completion:^(BOOL finished){ // }];
其余的视图(section2View,section3View等)不会“跟随”mainView框架中的更改,无论我尝试什么方向.根据我的理解,根据子视图的自动调整选项,更改mainView的框架应该会影响其子视图的框架,对吧?在我的情况下,子视图只是停留在同一个地方.
选择Interface Builder中主视图的“Autoresize Subviews”选项.
有人可以帮我解决这个问题吗?
以上是大佬教程为你收集整理的ios – 自动调整从nib加载的子视图时出现意外行为全部内容,希望文章能够帮你解决ios – 自动调整从nib加载的子视图时出现意外行为所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。