gpt4 book ai didi

iphone - ScrollView 的 subview 大小为零,即使加载的文本不是零

转载 作者:行者123 更新时间:2023-11-29 13:08:14 26 4
gpt4 key购买 nike

我是 Objective-C 编程的新手,所以如果这个问题的答案很简单,请原谅。我想创建一个大于屏幕尺寸的 UIScrollview。为了能够将所有 subview 适本地放置在该主视图中,我尝试了 this post 中建议的技巧。 .在这个大的 UIScrollView 中,我有几个 subview ,例如 ToolbarView、UITextView、UIButtons 和容器 View 。在启动期间,我启动 setupView 以根据实际屏幕尺寸更新 textview 的框架尺寸。我设法在一个单独的 nib 文件中做到了这一点,没有太多麻烦,但是当我在 Storyboard 中尝试这样做时,发生了一件奇怪的事情:UITextView (paperlist) 被初始化并为其设置了文本.但是,当我尝试获取帧大小时,它会生成一个大小为零的 CGRect

下面是我写的代码片段:

- (void)viewWillAppear:(BOOL)animated
{
[super viewDidLoad];
[self setupView];
// Do any additional setup after loading the view.
}


#pragma mark update the view
- (void)setupView {
// first update the paperlist height in function of the screen size of the device used
CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;

CGRect newMainFrame = self.view.frame;
CGRect newPaperlistFrame = self.paperlist.frame;
newPaperlistFrame.size.height = [UIScreen mainScreen].bounds.size.height - KEYBOARD_LOWERBORDER - self.mainToolbar.bounds.size.height - statusBarHeight;

newMainFrame.size.height = self.mainToolbar.bounds.size.height + newPaperlistFrame.size.height + self.fullKeyboardView.frame.size.height;

self.view.frame = newMainFrame;
self.paperlist.frame = newPaperlistFrame;
}

有人可以帮忙吗?

提前致谢!

朱利安

最佳答案

这可能是因为在 viewWillAppear 中 subview 框架还没有完全初始化。相反,尝试在您的 viewController 的这个方法中调用您的方法:

-(void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
[self setupView];
}

在此处查看更多信息:ScrollView created in storyboard initialized with frame 0,0,0,0

关于iphone - ScrollView 的 subview 大小为零,即使加载的文本不是零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18046604/

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