Iphone 将UIScrollView添加到视图并将其发送到后面
我使用故事板(UILabel、UIImageView)添加了一些UI组件。我试图将UIScrollView置于此视图中,位于所有其他元素的下方: 这是我的代码,就在Iphone 将UIScrollView添加到视图并将其发送到后面,iphone,objective-c,uiscrollview,Iphone,Objective C,Uiscrollview,我使用故事板(UILabel、UIImageView)添加了一些UI组件。我试图将UIScrollView置于此视图中,位于所有其他元素的下方: 这是我的代码,就在-viewwilldisease方法的末尾(来自我的视图控制器的代码): 我需要UIScrollView的原因是detailsLabel中有大量文本-我正在附加代码,用于以编程方式处理此标签: detailsLabel.text = @"Some long text taken from databse"; [deta
-viewwilldisease
方法的末尾(来自我的视图控制器的代码):
我需要UIScrollView
的原因是detailsLabel
中有大量文本-我正在附加代码,用于以编程方式处理此标签:
detailsLabel.text = @"Some long text taken from databse";
[detailsLabel sizeToFit];
detailsLabel.numberOfLines = 0;
detailsLabel.lineBreakMode = UILineBreakModeWordWrap;
我做错了什么?如何将UIScrollView放在主视图所有其他元素的下方?将代码放在
ViewDidLoad
中。然后在将UIScrollView
添加到viewdiload
本身的self.View之后添加标签。因此,默认情况下,UIScrollView
将添加到self.View上,然后添加到标签上。现在,您可以在scrollview或self.view上添加标签 将代码放入ViewDidLoad
。然后在将UIScrollView
添加到viewdiload
本身的self.View之后添加标签。因此,默认情况下,UIScrollView
将添加到self.View上,然后添加到标签上。现在,您可以在scrollview或self.view上添加标签 试试这个:
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
scroll.contentSize = CGSizeMake(320, 480);
scroll.showsVerticalScrollIndicator = YES;
[self.view insertSubview:scroll atIndex:0];
...
[self.view insertSubview:detailsLabel atIndex:1];
试试这个:
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
scroll.contentSize = CGSizeMake(320, 480);
scroll.showsVerticalScrollIndicator = YES;
[self.view insertSubview:scroll atIndex:0];
...
[self.view insertSubview:detailsLabel atIndex:1];
我按照中的说明操作,效果很好:我将Identity Inspector中的自定义类从UIView更改为UIScrollView,并将这一行添加到视图控制器文件中的my
-viewDidLoad
:
[(UIScrollView *)self.view setContentSize:CGSizeMake(320, 700)];
我按照中的说明操作,效果很好:我将Identity Inspector中的自定义类从UIView更改为UIScrollView,并将这一行添加到视图控制器文件中的my
-viewDidLoad
:
[(UIScrollView *)self.view setContentSize:CGSizeMake(320, 700)];
备选方案一:
在.h中声明detailsLabel:
IBOutlet UILabel * detailsLabel; // MAP IT WITH NIB or STORYBOARD
赋予它属性并以.m合成
在viewDidLoad中声明:
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
scroll.contentSize = CGSizeMake(320, 480);
scroll.showsVerticalScrollIndicator = YES;
[self.view addSubview:scroll];
[self.view sendSubviewToBack:scroll];
[scroll addSubview:detailsLabel];
//它应该会起作用
备选方案二:
如果要显示大量文本,则还可以使用UITextView,它具有内置的scrollview。您还可以设置其文本编辑属性。选项一:
在.h中声明detailsLabel:
IBOutlet UILabel * detailsLabel; // MAP IT WITH NIB or STORYBOARD
赋予它属性并以.m合成
在viewDidLoad中声明:
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
scroll.contentSize = CGSizeMake(320, 480);
scroll.showsVerticalScrollIndicator = YES;
[self.view addSubview:scroll];
[self.view sendSubviewToBack:scroll];
[scroll addSubview:detailsLabel];
//它应该会起作用
备选方案二:
如果要显示大量文本,则还可以使用UITextView,它具有内置的scrollview。您还可以设置其文本编辑属性