gpt4 book ai didi

ios - 3.5寸屏幕的UIScrollView

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:43:20 25 4
gpt4 key购买 nike

我已经为 iPhone 创建了一个应用程序,它的位置非常适合 iPhone 5/5S/5C 屏幕。但是,我正在尝试在 iPhone 4/4S(较小的屏幕)上使用 ScrollView。

我的 View 嵌入在导航栏 Controller 和标签栏 Controller 中。我的 ScrollView 在两者之间的空间中,当它在 iPhone 5/5S/5C 中时,我不希望它滚动,因为它已经是完美的尺寸。这部分工作正常。

但是,当我在模拟器的较小屏幕尺寸上测试它时,我希望它能够滚动,但它根本不滚动。

我有一个 IBOutlet 用于我的 ScrollView ,我在我的 .m 文件中使用以下代码行来设置 ScrollView 。

if (self.view.bounds.size.height == 568)
{
[_Scroller setContentSize:CGSizeMake(320, 1500)];
_Scroller.frame = CGRectMake(0, 64, 320, self.view.bounds.size.height);
}
else
{
[_Scroller setContentSize:CGSizeMake(320, 80)];
_Scroller.frame = CGRectMake(0, 64, 320, self.view.bounds.size.height);
}

_Scroller.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;
[_Scroller setScrollEnabled:YES];

我还在我的 View Controller 中取消选中 Adjust Scroll View Insets,因为它一直在 ScrollView 的顶部添加一个烦人的间隙。

谁能帮我解决我哪里出错了?这让我发疯!任何帮助都会很棒。此外,我对 iOS 开发还很陌生。

谢谢大家!

编辑:

我已经将 if 语句更改为此,但它仍然不起作用:

if (self.view.bounds.size.height == 568)
{
[_Scroller setContentSize:CGSizeMake(320, 1500)];
_Scroller.frame = CGRectMake(-4, 64, 329, self.view.bounds.size.height);
}
else
{
[_Scroller setContentSize:CGSizeMake(320, 2000)];
_Scroller.frame = CGRectMake(-4, 64, 329, self.view.bounds.size.height);
}

_Scroller.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;
[_Scroller setScrollEnabled:YES];

最佳答案

像这样使用:

if ([[UIScreen mainScreen] bounds].size.height >= 568) //iphone 5/5c/5s/6/6 plus
{
//making ContentSize and frame's height same as not need of scrolling
//make changes in height if necessary
[_Scroller setContentSize:CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height-64)];
//make changes in height if necessary
_Scroller.frame = CGRectMake(0, 64, self.view.bounds.size.width, self.view.bounds.size.height-64);
}
else //iphone 4/4s
{
//making ContentSize greater than frame's height as we need scrolling
//make changes in height if necessary
[_Scroller setContentSize:CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.height+64)];
if([[UIDevice currentDevice].systemVersion hasPrefix:@"7"]) //iOS 7.0 >
{
//made changes in y as status bar height is counted
_Scroller.frame = CGRectMake(0, 64, self.view.bounds.size.width, self.view.bounds.size.height-64);
}
else //iOS 6.1 <
{
//made changes in y as status bar height not counted
_Scroller.frame = CGRectMake(0, 44, self.view.bounds.size.width, self.view.bounds.size.height-64);
}
}

关于ios - 3.5寸屏幕的UIScrollView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23080276/

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