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 中不存在的情节提要元素?

iOS:如何在情节提要中在横向和纵向视图之间切换?

在情节提要中使用 iOS 静态库公共视图控制器?

IOS 7.1,如果目标设备系列设置为 iPad,通用情节提要上的常规宽度限制将被忽略

是否可以在情节提要中定义“通用”展开转场?

如何在不添加另一个 UIView 的情况下为情节提要中的 uitableViewCell 制作等宽分隔符?