首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当文本较少且UITextview的高度较大时,在UITextview中滚动文本

当文本较少且UITextview的高度较大时,在UITextview中滚动文本
EN

Stack Overflow用户
提问于 2014-03-22 06:46:08
回答 2查看 1.2K关注 0票数 2

我有一个UITextView,其高度为568 (意味着适合屏幕大小),如果我在其中写50行,那么它肯定会垂直滚动。

但是,当只有一行文本时,我想滚动(或者仅仅是弹跳)。

当用户垂直滚动时,文本将在UITextView中弹出

在我的应用程序中,UITextView是不可编辑的。

任何想法,代码,链接都会有很大帮助.

编辑:

UITextView的高度仅为568。

它不会改变(意思是不改变UITextView的高度,设置这个东西)。

代码语言:javascript
运行
复制
[txtView setContentOffset:CGPointMake(0, 1000)];

效果不太好..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-22 07:16:24

如果你想滚动的TextView文本不大,那么它的高度。那你就不能这么做。如果你的textView's文本不大于它的帧高,你就不会得到滚动条。

设置[txtView setContentOffset:CGPointMake(0, 1000)];将不再工作,如果该数据在不超过textView的高度。

更新:-

这是我有一个窍门。如果textview不可编辑,而且您只想滚动它,请尝试将Textview添加到一个滚动框中。就像贝娄一样,我把这个工作做好了。

in .h class

代码语言:javascript
运行
复制
@property(nonatomic,retain)IBOutlet UITextView *textvie;
@property(nonatomic,retain)IBOutlet UIScrollView *sceoll;

in .m class

代码语言:javascript
运行
复制
- (void)viewDidLoad
{
    [sceoll setContentSize:CGSizeMake(0, 500)];
    [textvie setTextAlignment:NSTextAlignmentCenter];
    textvie.editable = FALSE;
    if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
        textvie.contentInset = UIEdgeInsetsMake(10, 0, 10, 0);
    } else {
        textvie.textContainerInset = UIEdgeInsetsMake(10, 10, 10, 10);
    }
 [super viewDidLoad];

}

中的xib

结果是:-

票数 0
EN

Stack Overflow用户

发布于 2014-03-22 06:52:18

设置UITextView的框架

代码语言:javascript
运行
复制
CGRect frame = textView.frame;
frame.size = textView.contentSize;
textView.frame = frame;

请参阅:UITextView change height instead of scroll

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22574397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档