gpt4 book ai didi

iphone - 为什么添加对象后 UIScrollView 不会完全滚动?使用 Storyboard、ARC 和 Xcode 4.5.2

转载 作者:可可西里 更新时间:2023-11-01 03:01:24 24 4
gpt4 key购买 nike

所以,我知道有与我类似的问题,但可能不准确(所以请不要标记我 - 只是警告我或其他什么)。我已经搜索了好几天来解决这个简单问题。使用 Storyboard、ARC 和 Xcode 4.5.2,我只需要将一堆标签放在 UIScrollView 中并让它垂直滚动。我在 viewDidLoad、viewDidAppear 和 viewWillAppear 中尝试了很多设置框架大小和内容大小的组合,但都无济于事。 ScrollView 在其中没有任何内容时完美滚动,但是当我向其添加标签时,滚动只会滚动很短的部分。

注意:我需要使用自动布局,否则我的整个项目都会搞砸。

这是我当前的代码...

.h文件:

#import <UIKit/UIKit.h>

@interface MortgageRatesViewController : UIViewController <UIScrollViewDelegate, UIScrollViewAccessibilityDelegate>

- (IBAction)backButton:(id)sender;

@property (strong, nonatomic) IBOutlet UIView *mortgageView;

@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

@end

.m 文件:

#import "MortgageRatesViewController.h"


@interface MortgageRatesViewController ()

@end

@implementation MortgageRatesViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}

//-------------------------------------------------------

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"appBackgroundColor.png"]];


[self.scrollView setScrollEnabled:YES];
[self.scrollView setContentSize:CGSizeMake(0, 809)];



}

//---------------------------------------------------------------

//---------------------------------------------------------------

//-(void)viewWillAppear:(BOOL)animated{
//
//
// [super viewWillAppear:animated];
//
//
// [self.scrollView setFrame:CGRectMake(0, 0, 320, 808)];
//
//
//}

//---------------------------------------------------------------

-(void)viewDidAppear:(BOOL)animated
{

[super viewDidAppear:animated];

[self.view addSubview:self.scrollView];
[self.scrollView setScrollEnabled:YES];
[self.scrollView setContentSize:CGSizeMake(0, 809)];

}

//-------------------------------------------------------------

- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (IBAction)backButton:(id)sender {

[self dismissViewControllerAnimated:YES completion:NO];

}
@end

注意:将 viewWillAppear 注释掉没有任何区别。

编辑:我在下面发布了解决方案。希望对其他人有所帮助!

最佳答案

经过几天的研究,有趣的是我实际上在发布这个问题几分钟后就找到了解决方案!因此,对于我的情况,我只需添加这段代码,它就起作用了:

- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
[self.scrollView setContentSize:CGSizeMake(320, 808)];
}

它现在似乎运行良好。请任何人告诉我这是否是一种糟糕的做法,因为我是新手,我希望得到任何帮助。否则,我会离开它,希望这可以帮助其他人!谢谢!

关于iphone - 为什么添加对象后 UIScrollView 不会完全滚动?使用 Storyboard、ARC 和 Xcode 4.5.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com