UITextView内容在UINavigationBar下

时间:2015-07-09 17:54:10

标签: ios objective-c uinavigationcontroller autolayout uitextview

我在UITextView内有一个UIViewController,它使用自动布局将其固定为0(因此它会填满整个屏幕)。我也使用UINavigationController来推送此视图。

我遇到了一个奇怪的错误,如果UITextView有足够的文字以便它在屏幕上运行,那么内容会在UINavigationBar下设置。如果没有足够的文字填充屏幕,则文本的布局不会在UINavigationBar下面。

以下是正在发生的事情,这是当有足够的文字离开屏幕并且您需要滚动查看所有内容时。

enter image description here

我试过了:

  • 设置UITextView

  • 的内容插入
  • 确保UINavigationBar不是半透明的。

  • 尝试设置此self.automaticallyAdjustsScrollViewInsets = NO;

2 个答案:

答案 0 :(得分:2)

在textView所在的viewController的viewDidLoad中,添加:

IEnumerable<Tuple<string, string>> receivedlArgs = null;
provider.Received(1)
    .SetValuesAsync(Arg.Do<IEnumerable<KeyValuePair<string,object>>>(
    args =>
    {
        receivedlArgs = args.Select(a => new Tuple<string, string>(a.Key, a.Value.ToString()));
    }));

// assert (using FluentAssertions - but just for the example)
receivedlArgs.Should().Equal(Tuple.Create("Key1", "foo"), Tuple.Create("Key2", "bar"));

答案 1 :(得分:1)

我不确定问题为什么会发生,但这解决了这个问题:

- (void)viewDidLayoutSubviews {
    if (self.textView) {
        [self.textView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];
    }
}