UItextView 阿拉伯文文本右对齐

2024-04-02

在 UItextView inputView 上使用我的自定义阿拉伯语键盘,我用阿拉伯语文本填充我的 textView,但无法使书面文本向右对齐......需要帮助将文本向右对齐。

-(BOOL)textViewShouldBeginEditing:(UITextView *)textView{

 if(showCustomKeyboard==NO){
 [textView resignFirstResponder];
 textView.inputView=nil;
 [textView becomeFirstResponder];
 return YES; 
}

 else{
     [textView resignFirstResponder];
     if(customKeyboard==nil){
     customKeyboard=[[CustomKeyboard alloc] initWithFrame:CGRectMake(0, 264, 320, 216)];
     [customKeyboard setDelegate:self];
 } 
 if([[UIApplication sharedApplication] respondsToSelector:@selector(inputView)]){
     if (textView.inputView == nil) {
           textView.inputView = customKeyboard;
           [textView becomeFirstResponder];
     }
 } 
    self.customKeyboard.currentField=textView;
    [textView becomeFirstResponder];
 }
 return YES; 
}

您可以使用 setBaseWritingDirection 选择器设置 UITextView 的书写方向:

UITextView *someTextView = [[UITextView] alloc] init];
[someTextView setBaseWritingDirection:UITextWritingDirectionLeftToRight forRange:[someTextView textRangeFromPosition:[someTextView beginningOfDocument] toPosition:[someTextView endOfDocument]]];

该代码有点棘手,因为 UITextView 支持文本的不同部分具有不同的书写方向。就我而言,我使用 [someTextView textRangeFromPosition:[someTextView beginOfDocument] toPosition:[someTextView endOfDocument]] 来选择 UITextView 的完整文本范围。如果您的需求不同,您可以调整该部分。

您可能还想检查 UITextView 中的文本是否是从 LTR 到 RTL。你可以这样做:

if ([someTextView baseWritingDirectionForPosition:[someTextView beginningOfDocument] inDirection:UITextStorageDirectionForward] == UITextWritingDirectionLeftToRight) {
    // do something...
}

请注意,我使用 [someTextView beginOfDocument] 指定了文本的开头,并使用 UITextStorageDirectionForward 向前搜索。您的需求可能有所不同。

当然,如果您将 UITextView 子类化,请将所有这些代码示例替换为“self”而不是“someTextView”。

我建议阅读 UITextView 所遵循的 UITextInput 协议,网址为http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextInput Protocol/Reference/Reference.html http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextInput_Protocol/Reference/Reference.html.

关于在 iOS 5.1 或更早版本中使用 textAlignment 属性的警告:如果您将此方法与设置基本书写方向一起使用,则会遇到问题,因为在 UITextView 中向左对齐时的 RTL 文本实际上在视觉上向右对齐。将 RTL 书写方向的文本设置为右对齐会将其与 UITextView 的左侧对齐。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UItextView 阿拉伯文文本右对齐 的相关文章

  • Mac OS X 上的 .dll 等效项 [重复]

    这个问题在这里已经有答案了 我来自一个Windows背景 我习惯于通过创建 dll 然后分发所有库和文档 因此 如果用户想要使用它 他会添加对库的引用并使用它 但是 在 Mac 中 我正在开发 SDK 并且我想要一种方法creating a
  • 如何判断 NSObject 是否具有某个属性?

    假设在 Apple API 1 0 版中 有一个 NSFoo 类 其属性为 color API 1 1 添加了属性 size 我想知道是否可以使用 getter myFoo size myFoo respondsToSelector sel
  • 将 UIToolBar 添加到所有键盘(swift)

    我正在尝试以尽可能少的重复次数将自定义 UIToolBar 添加到我的所有键盘中 我目前的做法要求我将代码添加到所有 viewDidLoads 中 并将每个文本字段的委托分配给我正在使用的 viewController 我尝试创建自己的 U
  • 如何检测用户是否第一次打开应用程序[重复]

    这个问题在这里已经有答案了 是否可以检测用户是否是第一次打开iOS应用程序 使用Objective C 我想在用户第一次打开应用程序时显示欢迎消息 但之后不再向他们显示 我正在寻找类似的东西 BOOL firstTime AppDelega
  • 在 iOS 7 中 viewForHeaderInSection 部分是从 1 开始而不是从 0 开始

    我正在处理UITableView在我的项目中 这个项目是在 Xcode 4 5 中创建的 现在我正在使用 Xcode 5 所以我的问题是何时在 iOS 6 中运行我的项目 viewForHeaderInSection方法部分从 0 开始没问
  • Xamarin - 错误:dsymutil 退出,代码为 72

    最近升级到 VS for Mac 8 10 21 在构建应用程序时 我得到 Xamarin Shared targets 3 3 Error dsymutil exited with code 72 这是 Xcode 13 3 的情况 完整
  • jQuery:离线后 POST 出错(iOS 和 Chrome)

    我构建了一个具有离线功能的 HTML5 Web 应用程序 使用 AppCache 程序流程为 Online 在网络上时 应用程序预加载一些基本信息 工作 Offline 用户拿着装有应用程序的平板电脑offline 然后在应用程序上执行他们
  • Objective-C 中是否有相当于 C++ 动态转换的功能?

    如果我有两个类 子类和超类 SuperClass super new SuperClass SubClass sub new SubClass SubClass sub pointer The nice one line cast belo
  • 使用数组中的字符串淡入/淡出标签

    func setOverlayTitle self overlayLogo text Welcome var hello String Bon Jour GUTEN nMORGEN BONJOUR HOLA BUENOS D AS BUON
  • 将类型传递给通用 Swift 扩展,或者理想情况下推断它

    说你有 class Fancy UIView 你想找到所有兄弟姐妹Fancy意见 没问题 https stackoverflow com q 37232743 294884 for v UIView in superview subview
  • Swift:长按手势识别器 - 检测轻击和长按

    我想连接一个动作 如果手势是点击 它会以特定的方式为对象设置动画 但如果按下持续时间超过 0 5 秒 它会执行其他操作 现在 我刚刚连接了动画 我不知道如何区分长按和点击 如何访问新闻持续时间以实现上述目的 IBAction func ta
  • 在 WKWebView 中禁用缩放?

    有谁知道在 WKWebView 中禁用双击和捏缩放的简单方法 我尝试过的任何方法都不起作用 Webview scrollView allowsMagnification false Error value of type WKWebView
  • CATextLayer 上 iOS 6 中不需要的垂直填充

    背景 我在 iOS 5 中开始了我的项目 并构建了一个带有图层的漂亮按钮 我在按钮上添加了一个 textLayer 并使用以下代码将其居中 float textLayerVerticlePadding self bounds size he
  • 将 iPad xib 转换为 iPhone xib

    我看过很多关于将 iPhone xib 转换为 iPad xib 的帖子和教程 但我想反过来做 我能找到的唯一资源是 将 iPad 应用程序转换为 iPhone https stackoverflow com questions 68550
  • Xcode 异步单元测试在主线程上等待

    我正在尝试使用 Xcode 中的单元测试来测试一些异步代码 但主线程被阻塞 问题在于 某些正在测试的代码期望从 iOS 类 AVFoundation 接收回调 但是 AVFoundation 类似乎只会在主线程上回调 问题是 如果我正在进行
  • Mac 上的 Delphi - 可能吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我负责一个 Delphi Win32 项目管理应用程序 我刚刚完成了向 Delphi 2009 的迁移
  • Glib 在 iPhone 应用程序中的使用

    我想基于现有的开源 Objective C 框架开发一个 iPhone 应用程序 但是该框架广泛使用了 glib 库 我找不到一种方法来构建和包含 iPhone 应用程序的 glib 库 非越狱 有什么办法可以做到这一点 或者有没有推荐的方
  • UIViewController 内的 UIsearchController 使用自动布局

    有没有人成功实施过UIViewController其中包含两个UISearchController searchBar and a UItableView使用自动布局来布局所有内容 我正在尝试实现类似的目标1密码 https itunes
  • Unwind segue 的用途是什么以及如何使用它们?

    iOS 6 和 Xcode 4 5 有一个称为 Unwind Segue 的新功能 展开转场可以允许过渡到故事板中场景的现有实例 除了 Xcode 4 5 发行说明中的 这个简短条目之外 UIViewController 现在似乎还有几个新
  • Fitbit oauth2 公共 API 停止工作。给出错误 - 抱歉,这不是你..是我们

    几个月前 我准备了一个关于 Fitbit oauth2 公共 API 的演示 其中我使用特定用户登录并获取他的活动 一切正常 但最近 我打开演示并尝试使用同一用户登录 但它没有登录并反复出现此错误 我尝试更改在 Fitbit 上注册的演示应

随机推荐

  • 如何强制文本框显示正在输入的内容?

    在我的 UWP 应用程序中 单击按钮 btnCre8NewMap 时我会调用 ContentDialog 这是相关的 XAML
  • 使用 BeautifulSoup 迭代 XML 来提取特定标签并存储在变量中

    我对编程相当陌生 一直在努力寻找解决方案 但我能找到的只是零碎的东西 没有真正的运气将它们组合在一起 我正在尝试使用BeautifulSoup4 in python刮一些xml并将文本值存储在变量中的特定标签之间 这些数据来自医学生培训计划
  • Android 支持 v23.1.0 更新破坏了 NavigationView 获取/查找标头

    我一直在使用v23 0 1支持库到目前为止没有任何问题 现在当我切换到新的v23 1 0我在抽屉布局中的小部件上得到一个空指针 mNavigationView NavigationView findViewById R id navigat
  • 蟒蛇基维 |标签文本上的阿拉伯文本

    当我尝试输入阿拉伯语文本时出现问题 我的代码是 import kivy from kivy app import App from kivy uix textinput import TextInput class TestApp App
  • SQL Server 2014 nvarchar(max) 结果的哈希字节为 nvarchar(max)

    使用 SQL Server 2014 我有一个表nvarchar max 称为的列 ASCII File 它可以包含许多 K 的 ASCII 文本文件 然后我想对该文件执行 MD5 哈希字节 并且生成的哈希值应始终为 20 字节 好吧 当我
  • 如何在 MySQL 中搜索“邻近词”?

    例如 我想搜索一个词 marple 这应该返回具有接近或精确单词的行 例如 marble maple marple ETC 在mysql查询中如何实现呢 或者更好地给出建议 如果有的话 SOUNDEX 函数 http dev mysql c
  • 如何使用具有字典数组的键解析字典

    UPDATE 8 31 12 所以现在我需要根据 isReservable 1遍历字典数组 然后显示 begin 我只是想获取每个字典的数组的内容 我可以从那里开始 暂时 以下是我尝试过的 感谢大家的帮助 我每天都学到更多 来自 php 页
  • 在 TFS 描述字段中嵌入文本

    我有一个关于描述字段的 TFS 问题 目前 TFS 描述字段是一个空字段 用户可以在其中添加任何信息 是否可以嵌入某种类型的文本 示例 创建新错误时 TFS 描述字段为空 相反 我想在描述字段中填充以下内容 配置和日志 版本及环境 复制步骤
  • Scala 中的参数列表会直接支持元组解包吗?

    在 Haskell 中你可以这样写 x Int Int gt Int x p s p 在 Scala 中你可以这样写 def x a Int Int a 1 or def x a Int Int a match case p s gt p
  • Alamofire 自动刷新令牌并重试 iOS Swift 4 中的先前 API 调用

    现在我正在使用 Swift 4 开发 iOS 应用程序 这里我使用 Alamofire 来集成 API 调用 我需要集成正确的方法来自动刷新身份验证令牌并重试之前的 API 调用 成功登录后 我将存储身份验证令牌 因此 登录后 在每个 AP
  • 如何让一个 Perl 脚本查看另一个 Perl 脚本中的变量?

    我有一个越来越大的 Perl 脚本 因此我想将其分解为多个脚本 也就是说 我想取出一些大的哈希声明并将它们放入另一个文件中 如何使原始脚本能够查看和使用现在在其他脚本中声明的变量 这让我抓狂 因为我已经有一段时间没有使用 Perl 了 而且
  • 使 XmlReaderSettings CheckCharacters 适用于 xml 字符串

    我有一个来自 Adob e PDF AcroForms 的 xml 字符串 它显然允许命名以数字字符开头的表单字段 我正在尝试将此字符串解析为 XDocument XDocument xDocument XDocument Parse xm
  • 查找字符串中最后一次出现的子字符串,并将其替换

    所以我有一长串相同格式的字符串 我想找到最后一个 每个字符中的一个 并将其替换为 我尝试过使用 rfind 但我似乎无法正确利用它来做到这一点 这应该可以做到 old string this is going to have a full
  • 带有 NSTask 的沙箱

    我启用了沙箱并使用 sbin ping使用 NSTask task setLaunchPath sbin ping task setArguments NSArray arrayWithObjects c10 iPAddress nil 一
  • Qt 颜色选择器小部件?

    我有一个QDialog向用户提供一些选项供其选择的子类 这些选项之一是颜色 我见过QColorDialog https stackoverflow com a 1972272 2062384 我需要一些更简单的东西 这也是一个常规小部件 这
  • 尽管所有测试都通过,但 TeamCity NUnit 构建步骤失败

    我正在设置 TeamCity 来运行一些 NUnit 测试 TeamCity 报告所有测试均已通过 但报告构建失败 并显示错误消息 新构建状态为 NUnit 错误 build status text 深入查看构建日志 我可以看到加载测试中的
  • 带有 AngularJS 指令的类似 Google 的搜索框

    我正在编写一个应用程序 其 UI 方面几乎与 Google 完全相同 我到达登陆页面 我有一个搜索框 提交后会将您引导至结果页面 在这里 您有相同的搜索框和其他指令 您可以在其中切换模式 例如 网络 图像 目前我有 在登陆页面上 带有 ac
  • 循环遍历一个范围以创建嵌套数据树

    我需要创建一个零件号列表 其中显示用于创建第一零件的所有其他子零件 例如部分12345是通过组合构建的abc and def 我有一个顶级部分的列表 以及第二个列表 其中有两列 左侧显示顶级 右侧显示子部分 e g Top Level Pa
  • 如何在 Spring Boot 3 上运行 Swagger 3

    使用带有 Java17 和 Spring Boot 3 0 0 的全新 Spring Initialzr 以及 Springfox Swagger 3 的 pom xml 的额外补充 我一生都无法让 Swagger 页面工作 相反 我得到了
  • UItextView 阿拉伯文文本右对齐

    在 UItextView inputView 上使用我的自定义阿拉伯语键盘 我用阿拉伯语文本填充我的 textView 但无法使书面文本向右对齐 需要帮助将文本向右对齐 BOOL textViewShouldBeginEditing UIT