IOS-如何在情节提要上为通用设备的 UIscrollview 设置框架?
Posted
技术标签:
【中文标题】IOS-如何在情节提要上为通用设备的 UIscrollview 设置框架?【英文标题】:IOS- how to set frames for UIscrollview for universal devices on storyboard? 【发布时间】:2015-09-16 09:35:03 【问题描述】:我正在做一个项目,我必须使用UIScrollView
进行页面滚动。
我想要通用设备(iPhone,iPad)的滚动视图我不知道如何为其设置框架请帮助
我使用了一些方法,但它们不起作用我在viewDidLoad
方法中使用以下代码如何为所有设备设置它的框架
- (void)viewDidLoad
mainscrollview = [[UIScrollView alloc]init];
mainscrollview.showsVerticalScrollIndicator=YES;
mainscrollview.scrollEnabled=YES;
mainscrollview.userInteractionEnabled=YES;
[self.view addSubview:mainscrollview];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
【问题讨论】:
首先,对[super viewDidLoad]
的调用应该是viewDidLoad
实现中的第一个调用。其次,您在问题标题中提到了storyboard
,但似乎您正在从代码中添加滚动视图 - 那么它是哪一个? :) 最后 - 你永远不会为滚动视图设置任何框架 - 你应该使用 initWithFrame:
或使用 mailscrollview.frame = (...)
。
你试过CGRect screenSize = [[UIScreen mainScreen]bound]; [mainscrollView setframe:screenSize];
【参考方案1】:
http://natashatherobot.com/ios-autolayout-scrollview/看到这个链接你会得到一些帮助。
【讨论】:
在 SO 上不鼓励仅链接答案 - 您至少应该引用最相关的部分。【参考方案2】:使用此代码为所有设备设置UIScrollView
框架。
mainscrollview = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height)];
【讨论】:
这不考虑视图控制器(即导航栏)的可用空间。最好这样做:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)
@Losiowaty 这对我来说导航也有用,因为 UINavigation 会根据半透明属性自动调整大小。以上是关于IOS-如何在情节提要上为通用设备的 UIscrollview 设置框架?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 如何使用早期版本的 iOS 中不存在的情节提要元素?