相关疑难解决方法(0)

IOS7:UINavigationController中的UIScrollView偏移量

我目前正在ios 7上迁移我的应用程序,并且我已经在新的导航控制器/栏管理上被困了几个小时.

之前,当我们有导航控制器时,我们有一个这样的片段:

UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:[[MainViewController alloc]init]];
Run Code Online (Sandbox Code Playgroud)

在界面构建器中,我们可以选择为视图设置现有导航栏,并且所有内容都与实际视图的内容相匹配.

好的,现在,我不知道如何使用界面构建器正确设计.我仍然有我的片段来初始化我的navcontroller.但是在我的MainViewController的界面构建器中,如果我将状态栏设置为半透明或不透明的导航栏,我的顶部偏移量为44px(见下文).


Interface Builder_________________________和结果


现在,如果我将状态栏设置为无,则顶部没有偏移,但由于导航栏导致模拟器上的视图较小,因此界面构建器中视图的底部被切断.

Interface Builder_________________________和结果

我想我真的在这里遗漏了一些东西,但我在iOS7 Transitions Guide中找不到任何主题或苹果信息.

谢谢你的帮助


编辑

正如我们在图片中看到的那样,视图的第一个子节点是包含两个标签的UIScrollView,当没有scrollview时,问题不会出现.如果它是UITableView也会出现.如果标签位于UIScrollView之外,则该标签没有偏移量.

uinavigationbar uinavigationcontroller ios7

126
推荐指数
3
解决办法
5万
查看次数

ScrollView具有不明确的可滚动内容高度

我正在进行一个非常基本的UIScrollView测试.这是我的设置在此输入图像描述 它向我显示以下AutoLayout错误:

ScrollView has ambiguous scrollable content height 
Run Code Online (Sandbox Code Playgroud)

uiscrollview ios autolayout

50
推荐指数
1
解决办法
6万
查看次数

如何动态设置UIScrollView的内容大小

我有疑问UIScrollview.

故事是我有一个UIView名为ChartsView,我通过覆盖方法自己重新绘制它drawRect().绘图的内容是动态生成的.所以直到运行时我才知道它的大小.问题是如何/在哪里可以动态设置其超级视图(scrollView)的内容大小?有什么想法吗?

    - (void)viewDidLoad
    {
        [super viewDidLoad];

// not this way. it's fixed size.....
        ChartsView *chartsView = [[ChartsView alloc]initWithFrame:CGRectMake(0, 0, 320, 800)]; 

        self.scrollView.contentSize = chartsView.frame.size;

        [self.scrollView addSubview:chartsView];

    }
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uiscrollview uiview

30
推荐指数
4
解决办法
8万
查看次数

iOS 6中具有自动布局的动态UIView高度

在过去的几天里,我试图使用自动布局约束完成一个相当简单(至少应该是)布局,但没有成功.

我的视图层次结构是:
UIScrollView
- UIView(容器视图)
----- UILabel(Multirow标签)
----- UIWebView
----- UILabel
----- UIButton

查看IB中的层次结构

所需的功能是根据内容的大小进行扩展的Container视图.为了增加UIWebView的高度,我使用以下代码:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [self.webView sizeToFit];
} 
Run Code Online (Sandbox Code Playgroud)

我尝试了许多不同的约束,最合理的约束是:
1.从第一个标签(事件标题)的superview引脚顶部空间
2.第一个标签和UIWebView的
引脚垂直间距3.其余元素的引脚垂直间距(即UIWebView - UILabel(事件日期)和UILabel(事件日期) - UIButton)
4.容器视图具有低优先级(1)底部垂直空间约束及其超级视图

我得到的结果如下: 在此输入图像描述

UIWebView扩展但不会按下事件日期标签和按钮,而且Container视图也不会展开.

任何帮助将不胜感激.

您可以从这里下载示例Xcode项目.

objective-c autolayout ios6

30
推荐指数
1
解决办法
3万
查看次数

iOS - UIScrollView不工作(它根本不滚动 - 图像保持固定)

我想在图像视图中显示图像(宽度:320像素,高度:1250像素).

当我编译应用程序时,我根本没有滚动.视图保持不变.

我做了什么:

  1. 在我的视图中添加了一个UIScrollViewvia Interface Builder.
  2. UIImageView在我的视图中添加了一个via Interface Builder.
  3. 在Interface Builder中验证了UIImageView以下内容UIScrollView.
  4. 设置UIScrollViewwith 的大小ViewDidLoad.

我该怎么做呢?

码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    scrollView.contentSize = CGSizeMake(320, 1250);
}
Run Code Online (Sandbox Code Playgroud)

截图:

ImageView:

在此输入图像描述

ScrollView:

在此输入图像描述 在此输入图像描述

在此输入图像描述

iphone uiscrollview uiimageview ios5

23
推荐指数
7
解决办法
8万
查看次数

UIScrollView子级的尾随空间限制错误

我创建了一个全新的View Controller,然后添加了Scroll View作为根视图的子项,并将"Leading/Top/Trailing/Bottom Space"设置为0,以便滚动视图完全填充其父级.

然后我添加了一个按钮作为滚动视图的子项,空间约束为15到"Superview"(即滚动视图).因此我希望按钮的间距为15到顶部/左/右边框,滚动视图的内容以"按钮底部+ 15"结束.但是按钮的宽度不正确(在Xcode 5 Interface Builder,iOS 6/7模拟器中测试):

例

如果我用"Equade Width to Superview"限制按钮,它甚至不起作用!仍然没有占据全宽.

我该如何解决这个问题?

uiscrollview ios autolayout xcode5

23
推荐指数
1
解决办法
7591
查看次数

UIScrollView +中心视图+ Ambigous Scrollable内容大小+许多iPhone大小

我有:

  • 应用程序,应该在横向和纵向模式下工作.
  • 在顶部查看全尺寸滚动视图.
  • 滚动视图内部的一些视图具有固定的宽度和高度.(增加了H和W约束)
  • 设置为在容器中以水平居中的方式查看滚动视图内部.(根据约束添加)

我在界面生成器"有不明确的可滚动内容宽度"中发出警告. 在此输入图像描述

我知道解决这个问题的唯一方法是设置尾随和前导约束.但是对于不同的iPhone(5.5",4.7",4"),我需要设置不同的尾随和前导约束.

如何消除此警告仍然具有固定W和H的所有iPhone尺寸的水平视图居中?

我创建Github repo来说明这个问题:ScrollViewAmbigous

这与UIScrollView Scrollable Content Size Ambiguity不重复 ,但它类似(虽然没有回答),但这个问题尤其与不同尺寸的iPhone有关.

interface-builder uiscrollview ios autolayout xcode6

23
推荐指数
2
解决办法
2万
查看次数

UIScrollView不会滚动!

在IB我有我的UIView.然后我有一个子UIView,UIScrollView作为子视图.然后UIScrollView有一个子UIImageView.UIScrollView和UIImageView的大小相同.它们比它们是子视图的UIView大得多.我认为这会使滚动工作.它没有.滚动视图是否需要某种代码才能工作?

iphone interface-builder uiscrollview ios4

17
推荐指数
3
解决办法
2万
查看次数

UIScrollView扩展内容的内部大小,直到高度X,然后滚动

我基本上试图重现警报的标题和消息部分的行为.

在此输入图像描述

标题和消息标签似乎位于滚动视图中.如果标签文本增加,则警报高度也随着标签的固有内容大小而增加.但在某个高度,警报高度停止增加,标题和消息文本变为可滚动.

我读过的内容:

用品

堆栈溢出

答案可能在那里,但我无法抽象它.

我尝试过的:

我只关注具有两个标签的滚动视图,我试图做一个最小的例子,其中父视图将根据scrollview的内在高度调整大小.我玩过很多限制.这是一个组合(许多)组合不起作用:

在此输入图像描述

我使用过自动布局正常约束,甚至内在的内容大小.此外,我知道如何使用自动布局获得基本滚动视图.但是,我从未做过任何关于优先级和内容拥抱以及抗压缩性的事情.从我所做的阅读中,我对它们的含义有一种肤浅的理解,但我不知道如何在这种情况下应用它们.我的猜测是我需要对内容拥抱和优先级做些什么.

uiscrollview ios autolayout intrinsic-content-size

17
推荐指数
2
解决办法
4037
查看次数

运行时滚动视图中的额外空间(插入)

设置:

我正在使用Xcode 5中的一个视图来显示一组文本字段.为了在键盘出现时处理滚动,我使用滚动视图来放置我的TextFields.我正在使用autolayout.

问题:

我正在努力解决在运行时将额外空间添加到滚动视图顶部的问题.就像插件被应用到我的滚动视图一样,虽然我已经通过日志记录确认了insets为零.

在我的viewDidLoad()方法实现中我这样做是为了确认值...

UIEdgeInsets contentInsets = UIEdgeInsetsZero;
self.scrollView.contentInset = contentInsets;
self.scrollView.scrollIndicatorInsets = contentInsets;
self.scrollView.contentSize = self.scrollView.bounds.size;
self.scrollView.contentOffset = CGPointMake(0.0, 0.0);

NSLog(@"Content Size: %f x %f", self.scrollView.contentSize.height, self.scrollView.contentSize.width);
NSLog(@"Bounds Size: %f x %f", self.scrollView.bounds.size.height, self.scrollView.bounds.size.width);
NSLog(@"Frame Size: %f x %f", self.scrollView.frame.size.height, self.scrollView.frame.size.width);
NSLog(@"Inset Size top: %f bottom: %f", self.scrollView.contentInset.top, self.scrollView.contentInset.bottom);
NSLog(@"Scroll Inset Size top: %f bottom: %f", self.scrollView.contentInset.top, self.scrollView.contentInset.bottom);
Run Code Online (Sandbox Code Playgroud)

输出:

2013-10-08 11:38:42.953 test[6440:a0b] Content Size: 455.000000 x 320.000000
2013-10-08 11:38:42.954 test[6440:a0b] Bounds Size: 455.000000 …
Run Code Online (Sandbox Code Playgroud)

objective-c storyboard uiscrollview autolayout ios7

15
推荐指数
1
解决办法
1万
查看次数