gpt4 book ai didi

ios - UIScrollView - 滚动时内容超出范围

转载 作者:可可西里 更新时间:2023-11-01 05:02:25 29 4
gpt4 key购买 nike

我在 Interface Builder 中设计的 ScrollView 是这样的

enter image description here

这里看起来不错。但不幸的是,当我在模拟器或设备上运行它时

变成

enter image description here

scrollview 中的内容在 scrollview 本身之外扩展,即使在包含此 scrollView 的 UIView 之外也是如此。

在我的viewDidLoad中(panel是scrollView的容器)

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
CGFloat adjustPanelHeight = [PTTScreenScaleUtil getAdjustHeight:self.panel.frame.size.height];
CGRect panelRect = self.panel.frame;
panelRect.size.height = adjustPanelHeight;
self.panel.frame = panelRect;

UIImage *image = [UIImage imageNamed:@"panel-background"];
UIGraphicsBeginImageContext(self.panel.frame.size);
[image drawInRect:CGRectMake(0, 0, self.panel.frame.size.width, adjustPanelHeight)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

[self.panel setBackgroundColor:[UIColor colorWithPatternImage:newImage]];

NSLog(@"scrollView Height : %f", self.scrollView.frame.size.height);
NSLog(@"scrollView contentSize Height : %f", self.scrollView.contentSize.height);
// CGRect scrollViewRect = self.scrollView.frame;
// CGRect scrollViewContentRect = self.scrollView.frame;
// NSLog(@"ScrollView Height Before : %f , After : %f", self.scrollView.frame.size.height, [PTTScreenScaleUtil getAdjustHeight:self.scrollView.frame.size.height]);
// scrollViewRect.size.width = 280;
// scrollViewRect.size.height = [PTTScreenScaleUtil getAdjustHeight:270];
// self.scrollView.frame = scrollViewRect;
// [self.detailsLabel sizeToFit];
UIView *view = [[self.scrollView subviews] objectAtIndex:0];
// [view sizeToFit];
// [self.scrollView setContentMode:UIViewContentModeScaleAspectFit];
// NSLog(@"ContentSize Height : %f", view.frame.size.height);
// scrollViewContentRect.size.height = view.frame.size.height;
NSLog(@"Bounds : %f", view.bounds.size.height);
self.scrollView.frame = CGRectMake(10, 10, 280, 270);
self.scrollView.contentSize = CGSizeMake(280, 500);
NSLog(@"Frame Height %f", self.scrollView.frame.size.height);
//[self.scrollView setContentSize: CGSizeMake(280, 1000)];

CGRect termBtnRect = self.termBtn.frame;
CGRect mailBtnRect = self.mailBtn.frame;
CGRect twitterBtnRect = self.twitterBtn.frame;
CGRect fbBtnRect = self.fbBtn.frame;
termBtnRect.origin.y = adjustPanelHeight - 10 - termBtnRect.size.height;
mailBtnRect.origin.y = adjustPanelHeight - 10 - termBtnRect.size.height;
twitterBtnRect.origin.y = adjustPanelHeight - 10 - termBtnRect.size.height;
fbBtnRect.origin.y = adjustPanelHeight - 10 - termBtnRect.size.height;
self.termBtn.frame = termBtnRect;
self.mailBtn.frame = mailBtnRect;
self.twitterBtn.frame = twitterBtnRect;
self.fbBtn.frame = fbBtnRect;
}

所有日志返回270.0

附言。滚动条是正确的,即使内容在外面但滚动条工作正常(留在 ScrollView 的框架中,在界面生成器中安排)我不知道如何解决这个问题。请任何人帮助我。

谢谢。

最佳答案

通过在界面生成器中创建新的 View Controller 来解决它,然后小心地重做相同的过程。它有效。

当我比较两个 View Controller 时,我意识到错误的 UIScrollView Clip Subviews 未被选中。当检查它时,问题就解决了。

关于ios - UIScrollView - 滚动时内容超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16884648/

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