小编Joe*_*Joe的帖子

如何在iOS 7中的UITextView中设置属性文本的颜色和对齐方式?

我的textViews的格式在iOS 6中运行良好,但不再在iOS 7中运行.我理解使用Text Kit的内容已经发生了很大变化.它变得非常令人困惑,我希望有人可以通过帮助我做一些简单的事来帮助理顺它.

我的静态UITextView最初被分配了一个值textColortextAlignment属性.然后我做了一个NSMutableAttributedString,为它分配了一个属性,然后将它分配给textView的attributedText属性.对齐和颜色在iOS 7中不再生效.

我怎样才能解决这个问题?如果这些属性不起作用,为什么它们不再存在?这是textView的创建:

UITextView *titleView = [[UITextView alloc]initWithFrame:CGRectMake(0, 90, 1024, 150)];
titleView.textAlignment = NSTextAlignmentCenter;
titleView.textColor = [UIColor whiteColor];

NSMutableAttributedString *title = [[NSMutableAttributedString alloc]initWithString:@"Welcome"];
UIFont *font = [UIFont fontWithName:@"Avenir-Light" size:60];
[title addAttribute:NSParagraphStyleAttributeName value:font range:NSMakeRange(0, title.length)];
titleView.attributedText = title;

[self.view addSubview:titleView];
Run Code Online (Sandbox Code Playgroud)

uitextview nsattributedstring ios textkit

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

在iOS 7中编辑时,UITextView光标无法正确定位.为什么?

为什么会发生这种情况

上面的黄色框是一个可编辑的UITextView,当前正在编辑(是第一响应者).但你可能说得对不对?因为没有光标.但是有......这是黄色textView左下角的小蓝点.它略低于textViews底部边框.因此,如果我继续使用新行,或按Enter键,文本将自然地向上移动.但是光标永远不会"水平",或者在UITextView的下边框正上方.它总是从底部勉强伸出,在边界下面几个点.

为什么?这在iOS 6中不是问题.有什么方法可以解决这个问题吗?

uiscrollview uitextview ios ios7

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

如何允许NSAttributedString文本输入UITextView?

我正在尝试允许将不同样式的文本输入到UITextView中,有点像文本编辑器,使用粗体或斜体等简单属性.我理解通过使用textView的attributedText属性,我可以将属性应用于特定范围的文本.这很好,但我希望能够将属性文本键入textView,它将通过按钮切换(例如输入粗体文本).

这是我到目前为止所想到的:

我已经使用-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)textUITextView委托方法获取text参数,并通过创建具有相同文本的NSAttributedString来使用属性对其进行修改.然后创建一个NSMutableAttributedString,它是originText的副本textView.使用appendAttributedString,添加两个,然后将textView的attributedText属性设置为生成的attributionString.

这是代码:

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

   if (self.boldPressed) {

        UIFont *boldFont = [UIFont boldSystemFontOfSize:self.textView.font.pointSize];
        NSDictionary *boldAttr = [NSDictionary dictionaryWithObject:boldFont forKey:NSFontAttributeName];
        NSMutableAttributedString *attributedText = [[NSMutableAttributedString alloc]initWithString:text attributes:boldAttr];
        NSMutableAttributedString *textViewText = [[NSMutableAttributedString alloc]initWithAttributedString:textView.attributedText];
        [textViewText appendAttributedString:attributedText];
        textView.attributedText = textViewText;

           return NO;
       }
   return YES;                
}
Run Code Online (Sandbox Code Playgroud)

每次输入一个字符时都必须重置textViews attributionText似乎对于一个简单的操作有点多.不仅如此,它还不能正常工作.以下是启用粗体属性时的样子:

attributionText问题

这有两个问题.最明显的是每个新角色如何被置于一条新线上.但同样奇怪的是插入点始终位于textview中文本的第一个索引处(仅当启用粗体时,粗体字符才会插入新行).因此,如果您使用粗体启用键入,然后关闭加粗,请在所有现有文本前键入简历.

我不确定为什么会发生这些错误.我也不认为我的解决方案非常有效,但我想不出任何其他实现方法.

uitextview nsattributedstring ios

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

UITextView contentInset在iOS 7上的UITextView中不起作用?

我想设置UITextViewcontentInset属性.在这样做时,该UIEdgeInsettop变量工作得很好.所以[self.textView setContentInset: 'UIEdgeInsetsMake(50, 0, 0, 0)];工作.

但是,分配UIEdgeInsets的任何其他变量都不起作用.只有top调整.bottom不调整,无论做leftright.

所以[self.textView setContentInset: UIEdgeInsetsMake(0, 50, 100, 50)];对我的textView没有任何作用.

我错过了什么吗?有任何想法吗?

uitextview ios uiedgeinsets ios7

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

如何在iOS上的UIWebView中创建新的本地HTML文件?

首先,我想指出我对Web开发非常陌生,并且对iOS开发更加满意,所以请原谅我是否有一些我不理解的基础知识.

我已经看到了如何将HTML文件放入您的apps目录并将其加载到Web视图中(示例).这很棒,但是如何在应用程序中创建新的本地HTML文件?这样用户可以创建一个新的html文件来输入,然后存储它(基本的文档样式app功能).也许有某种Javascript(我不太熟悉这样的Javascript)?

html local uiwebview ios

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

为什么在我的UITableViewCell子类中没有调用layoutSubViews?

我已经使用了一些断点,发现单元格的init方法实际上已被调用,所以我知道我的tableview正在使用自定义的tableView单元类.这是类实现:

#import "FCTableViewCell.h"

@implementation FCTableViewCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.textLabel.frame = CGRectMake(10.0, 19.0, 240.0, 27.0);

    // Initialization code
    }
return self;
}

-(void)layoutSubViews
{

    [super layoutSubviews];
    self.textLabel.frame = CGRectMake(10.0, 19.0, 240.0, 27.0);
    self.textLabel.adjustsFontSizeToFitWidth = YES;
    self.textLabel.minimumScaleFactor = 0.8;
    self.textLabel.textAlignment = NSTextAlignmentCenter;
    self.textLabel.font = [UIFont fontWithName:@"Avenir" size:21.0];

}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}
Run Code Online (Sandbox Code Playgroud)

uitableview uiview ios

0
推荐指数
1
解决办法
1398
查看次数