2013-04-30 2 views
0

Я использую Xcode 4.6.2 и ориентирован на iOS 6 и выше. Я создал образец кода для моей проблемы.UITextView Alignment в языках RTL

код в файле .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 

Дизайн интерфейса

http://d.pr/i/oP7G

http://d.pr/i/1TM

Проблема заключается в следующем:

После добавления текста в TextView, если клавиатура на английском языке, NSTextAlignment работает нормально. Но если я сменил клавиатуру на арабский и напишу что-нибудь, что NSTextAlignment не ответит, это не изменит выравнивание.

Любая идея, как решить эту проблему?

ответ

0

Использование TextField делегатов

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

и установить выравнивание по тексту введен

В текстовом поле вызывает этот метод всякий раз, когда пользователь вводит новый символ в текстовом поле или удаляет существующий характер. Здесь вы можете заменить свой ввод новой NSString, где вы помещаете символы справа налево.

также установить

textView.textAlignment = UITextAlignmentRight; 

переместить строку справа.

0

Выберите UITextView, затем инспектор атрибутов goto в секции выравнивания выберите четвертое (равно) выравнивание