我正在使用Xcode 4.6.2并定位iOS 6及更高版本。 我已经为我的问题创建了示例代码。
.h文件中的代码
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITextViewDelegate>
@property (strong, nonatomic) IBOutlet UITextView *myTextView;
- (IBAction)btnLeftAlignment:(id)sender;
- (IBAction)btnCenterAlignment:(id)sender;
- (IBAction)btnRightAlignment:(id)sender;
- (IBAction)btnJustifiedAlignment:(id)sender;
@end
.m文件中的代码
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize myTextView;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.myTextView.delegate = self;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)btnLeftAlignment:(id)sender
{
myTextView.textAlignment = NSTextAlignmentLeft;
}
- (IBAction)btnCenterAlignment:(id)sender
{
myTextView.textAlignment = NSTextAlignmentCenter;
}
- (IBAction)btnRightAlignment:(id)sender
{
myTextView.textAlignment = NSTextAlignmentRight;
}
- (IBAction)btnJustifiedAlignment:(id)sender
{
myTextView.textAlignment = NSTextAlignmentJustified;
}
@end
界面设计
问题在于:
在TextView中添加一些文本后,如果键盘为英文,则NSTextAlignment工作正常。 但是,如果我将键盘更改为阿拉伯语并写入任何内容,NSTextAlignment将不会响应,它将不会更改对齐。
知道如何解决这个问题吗?
答案 0 :(得分:0)
使用textfield delegates
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
并根据输入的文字设置对齐
只要用户在文本字段中键入新字符或删除现有字符,文本字段就会调用此方法。在这里,您可以使用新的NSString替换输入,您可以将字符从右向左放置。
也设置
textView.textAlignment = UITextAlignmentRight;
在右侧移动提示。
答案 1 :(得分:0)
选择UITextView,然后在对齐部分中选择属性检查器选择第四个(等于)对齐