UIScrollview 作为主视图 IOS 8

Posted

技术标签:

【中文标题】UIScrollview 作为主视图 IOS 8【英文标题】:UIScrollview as main view IOS 8 【发布时间】:2015-07-23 08:03:50 【问题描述】:

我正在尝试将 uiscrollview 作为 ios 8 中的主视图,但我做不到。

我有以下结构:

查看 Header_View(类似于 TabBar) UIScrollView 内容视图 UIImage UILabel_Text 用户界面按钮

有时文本比其他文本大,所以我不知道视图的确切高度。使用这种结构,当我尝试垂直滚动时没有任何反应。

有人可以帮我吗?

谢谢。

【问题讨论】:

内容视图尺寸是否大于滚动视图尺寸? 改用 UITableView 看起来您没有对滚动视图应用适当的约束。 你设置了scrollview的contentSize吗? 我尝试使用 UITableView 并发生了 2 个错误。 1.当我滚动时,它在标题视图上 2.高度是设备高度,所以我看不到所有文本。 【参考方案1】:

首先在 ViewController.h 中取一个像 ajustHeight 这样的 int 变量

#import <UIKit/UIKit.h>
@interface ViewController : ViewController
  int ajustHeight;

然后在 ViewController.m 中使用这个变量来获取 UILabel_Text 的高度,如下所示。

    @interface ViewController ()

    @end

    @implementation ViewController

- (void)viewDidLoad

    UILabel *successlabel = [[UILabel alloc]initWithFrame:CGRectMake(10, 10, 215, 75)];
    successlabel.text = message;
    successlabel.numberOfLines = 0;
    successlabel.textAlignment = NSTextAlignmentLeft;
    [successlabel sizeToFit]; 

    [expandableview addSubview:successlabel];

    ajustHeight   =  successlabel.frame.size.height;


现在您获得了成功标签的高度,之后您也可以调整视图和滚动视图的内容高度。如果您在 for 循环中创建 UILable,则用户喜欢 ajustHeight += successlabel.frame.size.height;

【讨论】:

我试过了,滚动条位于标题视图上方。滚动如何隐藏在标题视图下方? ok 那么你可以使用这个代码 "headerView.layer.zPosition = 1.0f; "

以上是关于UIScrollview 作为主视图 IOS 8的主要内容,如果未能解决你的问题,请参考以下文章

UIWindow中的iOS UIScrollView

ios:从 UIScrollview 添加和删除视图

iOS 7 自动布局 - UIScrollView 内的 UIImageView

将多个容器视图放在 ios 中的分页 UIScrollView 中

iOS 视图:重绘与UIScrollView(内容根据iOS编程编写)

iOS:以编程方式添加约束获取视图高度作为唯一指标