相关疑难解决方法(0)

UITextView使用自动布局扩展为文本

我有一个完全使用自动布局编程的视图.我在视图中间有一个UITextView,上面和下面有项目.一切正常,但我希望能够在添加文本时扩展UITextView.当它扩展时,它应该将其下面的所有内容都推下来.

我知道如何以"弹簧和支柱"的方式做到这一点,但是有一种自动布局方式吗?我能想到的唯一方法是每次需要增长时删除并重新添加约束.

uitextview ios autolayout nslayoutconstraint

155
推荐指数
8
解决办法
9万
查看次数

如何在iOS 7上调整UITextView的内容?

多年来我一直在使用这里接受的答案.

在iOS 7上,无论文本内容如何,​​contentSize.height都将成为frame.height-8.

在iOS 7上调整高度的工作方法是什么?

height dynamic uitextview ios7

64
推荐指数
5
解决办法
8万
查看次数

如何根据文本长度使UITextView高度动态?

正如您在此图片中看到的那样

UITextView变化是根据文本长度的身高,我希望把它调整它是根据文本长度高度.

*我看到了其他问题,但那里的解决方案对我不起作用

例

uitextview ios swift

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

以编程方式更改高度约束

我想以编程方式更改UITextView的高度约束,因此我将约束设置为我的控制器中的插座,如下所示:

@property (strong, nonatomic) IBOutlet NSLayoutConstraint *descriptionHeightConstraint;
Run Code Online (Sandbox Code Playgroud)

要更改它,我执行以下操作:

self.descriptionHeightConstraint.constant = self.description.contentSize.height;
Run Code Online (Sandbox Code Playgroud)

这是有效的,如果我在viewDidAppear中这样做,但问题是我可以看到高度在显示的视图之后如何变化,这不是非常用户友好所以我尝试在viewWillAppear中进行但是在那里没有工作,高度没有改变.更改约束后调用setNeedsUpdateConstraints也不起作用.

为什么在viewDidAppear中工作而不在viewWillAppear中工作?任何解决方法?

提前致谢!

height constraints ios autolayout

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

调整UITextView的大小

我有一个UITextView补充UIView.添加的textview不可编辑,只是显示一些数据.textview中显示的数据是动态的.那是线数不固定.它可能会有所不同 因此,如果行数增加,则还需要增加textview的大小.我不知道如何做到这一点.请给我一些想法.

更新:

这是我正在做的事情:

UIView *baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)];
baseView.backgroundColor = [UIColor grayColor];
[window addSubview:baseView];

UITextView *textView = [[UITextView alloc] initWithFrame:CGRectMake(5, 30, 100, 30)];
textView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
textView.text = @"asdf askjalskjalksjlakjslkasj";
[textView sizeToFit];
[baseView addSubview:textView];
Run Code Online (Sandbox Code Playgroud)

iphone uitextview

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

如果要包装的文本中有一个长字符串,sizeWithFont不会为UITextView提供正确的高度

有没有办法使用以下方法获得正确的NSString大小:

- (CGSize)sizeWithFont:(UIFont *)font forWidth:(CGFloat)width lineBreakMode:(UILineBreakMode)lineBreakMode
Run Code Online (Sandbox Code Playgroud)

不会被2或300个字符串抛出.目前,如果我尝试在这些长字符串上使用此方法,则会错误地计算它们,并且最终会在UITextView的底部显示大量空格.

我尝试过使用UILineBreakModeWordWrap和UILineBreakModeCharacterWrap.

调整大小正在进行中

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    CGFloat     result = 44.0f;
    NSString*   text = nil;
    CGFloat     width = 0;
    CGFloat     tableViewWidth;
    CGRect      bounds = [UIScreen mainScreen].bounds;

    tableViewWidth = bounds.size.width;


    width = tableViewWidth - 150;       

    text = stringWithLongWords;

    if (text) {
        CGSize      textSize = { width, 20000.0f };     
        CGSize      size = [text sizeWithFont:[UIFont systemFontOfSize:10.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];

        size.height += 50.0f;               
        result = MAX(size.height, 44.0f+30.0f); 
    }

    return result;
}
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsstring uitextfield

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

在ios 7上动态扩展UITextView

我正在使用此代码

CGRect frame = self.mytext.frame;
frame.size.height = self.mytext.contentSize.height;
self.mytext.frame = frame;
Run Code Online (Sandbox Code Playgroud)

但它在iOS 7中不起作用.有谁知道为什么或有同样的问题?

编辑:

抱歉.我制作了一个UIView,一个UITextView和一个UIScrollView,所以我可以在我的uitextview展开中加载文本.

我在viewDidLoad中使用了这段代码

CGRect frame = self.moreDetailsTextView.frame;
frame.size.height = self.moreDetailsTextView.contentSize.height;
self.moreDetailsTextView.frame = frame;

CGRect moreViewFrame =  self.moreDetailsView.frame;
moreViewFrame.size.height = frame.size.height + 270;
self.moreDetailsView.frame = moreViewFrame;

int scrollViewHeight =  moreViewFrame.size.height + 235;
self.scrollView.contentSize = CGSizeMake(320, scrollViewHeight);
Run Code Online (Sandbox Code Playgroud)

这在ios6中运行良好,但是现在使用xcode5和ios7,当我在模拟器中测试应用程序时,uitextview不会扩展.

uitextview uiview ios7

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

调整大小后,UITextView的内容会被多余的空间放错位置

背景和问题的描述

我制作了一个垂直文本视图,用于蒙古语.它是一个自定义文本视图,由三层视图组成:子UITextView视图,容器视图(旋转90度并翻转)以保存UITextView和父视图.(有关更多背景信息,请参阅此处此处.)

只要介于最小和最大大小之间,视图就会根据基础文本视图的内容大小增加其大小.但是,在过去的几天里,我一直在努力修复一个错误,即添加了一个额外的空间并且内容向左移动(这将在底层文本视图的坐标上).这可以在下图中观察到.黄色视图是自定义文本视图(inputWindow在下面的视图控制器代码中调用.)

在此输入图像描述

点击输入几次以增加内容视图的大小后,会添加一个额外的空格.试图滚动视图什么也没做.(在宽度达到最大值并且内容大小大于帧大小之后滚动会起作用.)就好像内容在它被放置到正确位置之前被冻结到位时处于滚动的中间位置.如果我插入另一个字符(如空格),则内容视图会将其自身更新到正确的位置.

我需要改变什么?或者,如何手动强制底层UITextView显示其内容视图在正确的位置?

我试图删除所有无关的代码,只留下View Controller和Custom Vertical TextView的相关部分.如果还有其他我应该包括的内容,请告诉我.

查看控制器

视图控制器在内容视图大小更改时更新自定义文本视图的大小约束.

import UIKit
class TempViewController: UIViewController, KeyboardDelegate {

    let minimumInputWindowSize = CGSize(width: 80, height: 150)
    let inputWindowSizeIncrement: CGFloat = 50

    // MARK:- Outlets
    @IBOutlet weak var inputWindow: UIVerticalTextView!
    @IBOutlet weak var topContainerView: UIView!
    @IBOutlet weak var keyboardContainer: KeyboardController!
    @IBOutlet weak var inputWindowHeightConstraint: NSLayoutConstraint!
    @IBOutlet weak var inputWindowWidthConstraint: NSLayoutConstraint!


    override func viewDidLoad() {
        super.viewDidLoad()

        // get rid …
Run Code Online (Sandbox Code Playgroud)

uitextview ios swift mongolian-vertical-script

11
推荐指数
1
解决办法
688
查看次数

UITextView自动高度

如何将UITextView扩展或缩小到其中文本的大小,然后使UIScrollview展开或缩小以适应UITextView

iphone xcode objective-c ipad ios

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

如何调整UITextView的宽度以适应其内容而不包装?

调整UITextView的大小以适应其内容的高度可以像这样实现:

CGRect frame = _textView.frame;
frame.size.height = _textView.contentSize.height;
_textView.frame = frame;
Run Code Online (Sandbox Code Playgroud)

有没有类似于适合宽度的东西,没有包装内容文本?

objective-c uitextview ios

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