iOS UITextView中如何限制字符数

2024-02-03

我有一个 UITextView,我想限制用户可以输入的字符数。我还尝试在文本字段为空时显示警告,但没有成功。

textview.h

@property (nonatomic,strong) IBOutlet UITextView *textField;
@property (nonatomic, retain) NSString *userText;

textview.m

- (IBAction)next:(id)sender {

    self.userText = self.textField.text;

    if ([self.textField.text length] == 0) {
            UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error!"
                                                                message:@"Enter some text"
                                                               delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alertView show];
        }
}

这是文本限制方法似乎不起作用,

- (BOOL)textView:(UITextView *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    if(range.length + range.location > textField.text.length)
    {
        return NO;

    } else {

    NSUInteger newLength = [textField.text length] + [string length] - range.length;
    return newLength <= 70;
    return (textField.text.length <= 70);
}
}

1)像这样在你的视图控制器中添加 UITextViewDelegate

@interface ViewController : UIViewController <UITextViewDelegate>

每次用户在键盘上键入一个字符时,在显示该字符之前,都会调用以下方法。这是一个方便的位置,可以测试用户正在键入的字符并禁止您想要限制的特定字符。

textView:shouldChangeCharactersInRange:replacementString

2)然后编写以下代码。 您可以输入任何您想要的数字,而不是 140。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
    return textView.text.length + (text.length - range.length) <= 140;
}

如需更多帮助,请查看UI文本视图 http://code.tutsplus.com/tutorials/ios-sdk-uitextview-uitextviewdelegate--mobile-11210

斯威夫特2.0解决方案

 func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
    return textView.text.characters.count + (text.characters.count - range.length) <= textViewLimit
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS UITextView中如何限制字符数 的相关文章

  • 动态框架中未定义的架构符号

    我正在开发一个 iOS 框架 该框架包含多个第三方框架并使用 UnitySendMessage C 方法与 Unity 进行通信 我想创建一个动态框架 支持 iOS8 但我偶然发现以下编译错误 Undefined symbols for a
  • 动画导航控制器“后退”按钮

    我在导航控制器层次结构中的视图控制器上有一个自定义按钮 按下该按钮时 会弹出可见的视图控制器 我想使用 UIView 的transform属性来动画关闭视图控制器 它有效 但如果我使用 popViewControllerAnimated Y
  • 在 Swift 中使用 Obj-C 完成块

    在 Objective C 中 我有一个完成块类定义为 File h typedef void MYCompletionBlock BOOL success NSDictionary result NSError error 然后 在 Sw
  • 错误 ITMS-90085:“二进制文件中没有体系结构。Lipo 无法检测到捆绑可执行文件中的任何体系结构。”

    操作系统 OS X Yosemite 版本 10 10 1XCode 未安装应用程序加载器3 0 620 电话间隙 3 7 0PhoneGap 构建 在线 build phonegap com 在验证 iTunes 步骤时 出现错误 ITM
  • iOS 中的视频可以进行反卷积吗?

    我想拍摄击球手挥动棒球的镜头 但球棒很模糊 视频为 30 fps 通过研究 我发现反卷积似乎是最小化运动模糊的方法 但我不知道是否或如何在我的 iOS 应用程序后处理中实现它 我希望有人能给我指出正确的方向 比如如何在 iOS 中应用反卷积
  • Phonegap - cordova 在 Android 和 iOS 设备上延迟且缓慢

    我刚刚开始使用 zend studio 开始我的第一个 PhoneGap 项目 但是 在我构建并部署它之后 该应用程序非常慢 Android 和 iOS 均可 滚动滞后 如果我按下按钮 转到下一页的速度很慢 有什么办法可以提高它的性能吗 提
  • Swift iOS 9.2 中的每日本地通知

    尝试快速发送每日本地通知 然而 由于某种原因 它只是每分钟发送一次 我希望第一个通知在应用程序打开后 30 分钟发送 然后每天重复此通知 在 swift fie 中我有以下代码 每日通知代码 同时在应用程序委托中添加部分 让 Date NS
  • iOS - 基于设备的不同图像或缩放相同的图像?

    似乎开发人员总是为不同的设备创建不同的图像资源 并根据设备加载它们 但是 只为最高分辨率的设备 iPad 创建图像 然后为 iPhone 6 5 等缩小该图像 有什么缺点吗 我使用 SpriteKit 因此我只需创建不同大小的 SKSpri
  • 如何在 UINavigationController 中收到弹出视图的通知?

    我想在用户按下我的后退按钮时执行操作UINavigationController当到达某个时UIViewController 不幸的是它看起来像UINavigationControllerDelegate没有任何方法来获取视图弹出的通知 作
  • Objective C - 动态属性的respondsToSelector

    我目前面临的问题是检查对象 NSManagedObject 的属性是否存在 不幸的是方法 MyObject class respondsToSelector selector myProperty 总是返回NO 我认为这是因为CoreDat
  • iOS - 检测应用程序是否正在从 Xcode 运行 [重复]

    这个问题在这里已经有答案了 我试图根据代码是否通过 USB Xcode 调试 运行或在从应用程序商店下载的生产模式 发布 运行来启用 禁用部分代码 我知道检查它是否正在运行DEBUG or RELEASE像这样的模式 ifdef DEBUG
  • 如何让我的“点击”功能与 iOS 配合使用

    我有一组充当按钮的 Div 这些按钮有一个简单的 jquery click 函数 该函数适用于除 iOS 之外的所有浏览器 例如 div class button click me div and button click function
  • Xcode 8.2 更新后二进制文件无效

    我今天尝试在更新到 Xcode 8 2 后向我的应用程序推送更新 但收到无效的二进制错误 我以前从未见过这个 我的应用程序的 iOS 部署目标是 iOS 9 0 有谁见过这个错误或知道如何修复它 这是电子邮件的内容 解释了二进制文件的无效内
  • 在 iOS 中获取 Facebook 好友时出错

    我正在尝试获取登录用户的 Facebook 好友列表 它在我的帐户中工作正常 但是当我将应用程序详细信息迁移到新帐户并更改应用程序 ID 和应用程序密码时 我收到以下错误 Error Domain com facebook sdk Code
  • iOS 应用程序崩溃 com.apple.root.background-qos

    在应用程序中发现应用程序崩溃 我怀疑这可能是由于 firebase 观察者的代码而发生的 由于在用户案例中 用户可以从一个事件转到用户配置文件 参与此事件 然后从用户配置文件可以返回到此事件 我需要一个 ref 句柄来删除特定的观察者 因此
  • 如何在 Swift 中更改 UIButton 图像

    我正在尝试使用 Swift 更改 UIButton 的图像 我应该怎么办 这是 OBJ C 代码 但我不知道 Swift 的情况 playButton setImage UIImage imageNamed play png forStat
  • iOS-Swift UIApplication.shared.isIdleTimerDisabled = true 在 AppStore 审核后不起作用

    努力实现停止屏幕在某些情况下进入睡眠状态View Controller 我做了什么我已在运行 iOS 12 1 12 的物理 iPhone 6 上使用以下代码测试了我的应用程序 我设置了手机Dislpay Brigthness gt Aut
  • 如何显示AVPictureInPictureController?

    我正在尝试使用播放视频AV画中画控制器最近在IOS9 使用此代码 AVPlayer AVPlayer AVPlayer playerWithURL url AVPlayerLayer layer AVPlayerLayer playerLa
  • 我可以更改导航栏项目的位置吗?

    Here is the snapshot 代码在这里 UIButton leftButton UIButton buttonWithType UIButtonTypeCustom leftButton frame CGRectMake 0
  • iOS 13 UIActivityViewController 在图像保存后自动呈现以前的 VC

    我正在尝试实现 将图像保存到库 功能 然后返回到当前视图控制器 但在新的 iOS 13 上 它会返回到呈现当前视图控制器的视图控制器 PHPhotoLibrary requestAuthorization status PHAuthoriz

随机推荐