相关疑难解决方法(0)

什么是UIScrollView contentInset属性?

有人可以向我解释一个UIScrollView实例中的contentInset属性用于什么?也许提供一个例子?

uiscrollview

155
推荐指数
3
解决办法
10万
查看次数

iOS7中的UITextView剪辑文本字符串的最后一行

iOS7中的UITextView非常奇怪.当您键入并输入UITextView的最后一行时,滚动视图不会像应该的那样滚动到底部,这会导致文本被"剪切".我已经尝试将它的clipsToBound属性设置为NO,但它仍然剪辑文本.

我不想调用"setContentOffset:animated",因为对于一个:这是非常hacky的解决方案..其次:如果光标在我们的textview的中间(垂直),它将导致不必要的滚动.

这是一个截图.

在此输入图像描述

任何帮助将不胜感激!

谢谢!

uitextview ios7

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

当iOS 7显示键盘时,如何重新调整UITextView的大小

我有一个包含全屏的视图控制器UITextView.当键盘显示时,我想调整文本视图的大小,使其不会隐藏在键盘下面.

对于iOS,这是一种相当标准的方法,如本问题所述:

如何在键盘出现时在iOS上调整UITextView的大小?

但是,对于iOS 7,如果用户点击屏幕下半部分的文本视图,则当文本视图调整大小时,光标将保持在屏幕外.如果用户点击进入,则文本视图仅滚动以将光标置于视图中.

objective-c ios7

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

UITextView外部的游标

我搜索了高低,似乎无法找到答案.我见过的最接近的是: 更改帧时UITextView光标位于帧下方

对不起,没有截图,因为我(几乎)没有声望,但它看起来类似于链接的SO帖子.

当我在iOS6上运行应用程序时,事情工作正常(内容滚动光标以使其保持在屏幕上),但在iOS7上,光标超出了UITextView的末尾.我尝试添加UIEdgeInsets来移动内容,但是当用户主动输入文本时,它只是不断添加新行,直到光标位于文本视图的末尾.

我的布局包含一个Label(headerText),下面有一个UITextView(textView).此视图显示在选项卡栏中.添加了一个键盘输入附件,但在调用该功能之前,它的高度会自动计算到键盘高度.

这是我用来调整视图大小的函数,从键盘显示/隐藏委托,旋转,初始布局等调用:

-(void)resizeViewsWithKbdHeight:(float)kbHeight
{
    //set the header label frame

    //set constraints
    //total view width - 30 (15 each for left and right padding)
    CGFloat labelWidth = ([[[self navigationController] view] bounds].size.width - 30);
    CGSize constraintSize = {labelWidth, CGFLOAT_MAX};
    //calculate needed height for header label
    CGSize textSize = [[self headerText] sizeWithFont:[UIFont systemFontOfSize:17.0f]
                                    constrainedToSize:constraintSize
                                        lineBreakMode:NSLineBreakByWordWrapping];
    //build and set frame for header label:
    //make it the same as the old
    CGRect headerTempSize = [[self headerLabel] frame];
    //except for the height …
Run Code Online (Sandbox Code Playgroud)

uitextview ios uiedgeinsets ios7

7
推荐指数
2
解决办法
3106
查看次数

-scrollRangeToVisible:在iOS 7中不考虑键盘大小

我一直在视图控制器中使用以下代码来更新键盘显示时UITextView的内容偏移量:

- (void)keyboardWasShown:(NSNotification *)notification
{
    NSDictionary *info = [notification userInfo];
    CGRect keyboardRect = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];

    UIEdgeInsets contentInsets = UIEdgeInsetsMake( 0.0, 0.0, keyboardRect.size.height, 0.0 );
    self.textView.contentInset = contentInsets;
    self.textView.scrollIndicatorInsets = contentInsets;
}
Run Code Online (Sandbox Code Playgroud)

在键盘显示的情况下,手动将UITextView的内容滚动到底部,使其正确地在键盘顶部正上方结束. - [UITexView scrollRangeToVisible:]但是,似乎不再考虑键盘的存在.

  • 在iOS 6中,文本视图会滚动,直到键盘上方显示指定的范围.
  • 在iOS 7中,可见性现在似乎基于文本视图的框架而不是以前的内容插入.因此视图将仅在范围延伸到框架下方时滚动,然后它将仅滚动到足以使该范围在底部可见

在视觉上,这是正在发生的事情.我建立了一个内联搜索我的文本视图与控件在结果之间跳转(类似于在Safari中搜索).因此,在此处显示的文本视图,当用户点击"下一步"按钮时,搜索结果将逐渐显示结果.当用户转到第七个结果时,视图将滚动直到可见.

当用户转到第五个搜索结果时,使用键盘(来自UISearchBar)在相同的搜索结果上,它将滚动到键盘上方.但仅限于iOS 6.在iOS 7中,在非键盘情况下转到第七个搜索结果之前不会发生滚动,即使这样,它也会滚动相同的数量,因此它只能在文本视图框架的底部下方看到.

这是iOS 7中的已知变化吗?我正在使用自动布局,所以我要尝试的另一件事是调整文本视图的底部间距约束以缩小整个视图以避免问题,但是想要检查是否仍然可以使用我现有的代码IOS 7.

objective-c uitextview ios ios7

7
推荐指数
1
解决办法
3745
查看次数

如何让我的UITextView在iOS 7下的屏幕高度减去键盘?

我的代码在iOS 6下运行正常,但在iOS 7下我似乎无法使我的UITextView设备屏幕的高度减去键盘(换句话说,当键盘启动时,UITextView仍然是全屏,但是不要去键盘下面).

首先,当我将UITextView放入我的视图控制器(嵌入在导航控制器中)时,它也必须位于导航栏下,否则它会开始太远.

从那里我尝试了所有这些例子:

self.textView.contentInset = UIEdgeInsetsMake(0, 0, 230, 0);
self.textView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 230, 0);
self.textView.textContainerInset = UIEdgeInsetsMake(0, 0, 230, 0);
Run Code Online (Sandbox Code Playgroud)

每个键盘的位置仍然会在某些点上覆盖textview.我也试过设置一个高度约束并操纵常量,但没有运气.

self.height.constant = self.height.constant - 240.0;
Run Code Online (Sandbox Code Playgroud)

(height约束的出口在哪里.)

这些都是在[self.textField becomeFirstResponder];电话会议之前和之后都尝试过的.

我怎么做到这一点?我只想要一个全屏UITextView,其中插入符号不会出现在键盘下面,但它在iOS 7下看起来很疯狂.

objective-c uiscrollview uitextview ios ios7

7
推荐指数
1
解决办法
3641
查看次数

标签 统计

ios7 ×5

uitextview ×4

ios ×3

objective-c ×3

uiscrollview ×2

uiedgeinsets ×1