All Projects → tingxins → Inputkit

tingxins / Inputkit

Licence: mit
📝InputKit, an Elegant Kit to limits your input text, inspired by BlocksKit, written in both Objective-C & ⚡️Swift.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Inputkit

TextInputLayout
The objective of this code is to guide you to create login screen with TextInputLayout in iOS app.
Stars: ✭ 30 (-92.86%)
Mutual labels:  input, text, textfield
react-native-element-textinput
A react-native TextInput, TagsInput and AutoComplete component easy to customize for both iOS and Android.
Stars: ✭ 28 (-93.33%)
Mutual labels:  input, textfield
FormToolbar
Simple, movable and powerful toolbar for UITextField and UITextView.
Stars: ✭ 85 (-79.76%)
Mutual labels:  textview, textfield
CheckableTextView
A simple and flexible Checked TextView or Checkable TextView
Stars: ✭ 108 (-74.29%)
Mutual labels:  text, textview
Typewriterview
Android library for typewriter like effects
Stars: ✭ 124 (-70.48%)
Mutual labels:  text, textview
Tytext
text asynchronous rendering by TextKit for iOS
Stars: ✭ 127 (-69.76%)
Mutual labels:  text, textview
STTextView
📝 STTextView is a light-weight library that adds a placeholder to the UITextView.
Stars: ✭ 36 (-91.43%)
Mutual labels:  text, textview
Rskgrowingtextview
A light-weight UITextView subclass that automatically grows and shrinks.
Stars: ✭ 820 (+95.24%)
Mutual labels:  input, textview
react-native-input-bar
Fully customizable, beautifully designed Input Bar for React Native
Stars: ✭ 32 (-92.38%)
Mutual labels:  input, text
pygame-text-input
a small module that enables you to input text with your keyboard using pygame
Stars: ✭ 114 (-72.86%)
Mutual labels:  input, text
Insert Text At Cursor
Fast crossbrowser insertion of text at cursor position in a textarea / input
Stars: ✭ 49 (-88.33%)
Mutual labels:  text, input
TTInputVisibilityController
Lightweight controller to keep your inputs visible when the keyboard is presented.
Stars: ✭ 21 (-95%)
Mutual labels:  textview, textfield
Underlinetextfield
Simple UITextfield Subclass with state
Stars: ✭ 156 (-62.86%)
Mutual labels:  input, textfield
Rskplaceholdertextview
A light-weight UITextView subclass that adds support for placeholder.
Stars: ✭ 192 (-54.29%)
Mutual labels:  text, textview
Jhform
JhForm - 自定义表单工具,更加简单,快捷的创建表单、设置页面
Stars: ✭ 108 (-74.29%)
Mutual labels:  input, textview
passport
A Kotlin-based Android view validation library with a simple DSL.
Stars: ✭ 31 (-92.62%)
Mutual labels:  input, text
Stringformatter
Simple Text Formetter (Credit Card Number, Phone Number, Serial Number etc.) Can be used in all text inputs according to the format pattern. If desired, large minor character restrictions can be made in the format pattern.
Stars: ✭ 231 (-45%)
Mutual labels:  textview, textfield
Autocompletefield
Subclass of UITextField that shows inline suggestions while typing.
Stars: ✭ 656 (+56.19%)
Mutual labels:  input, textfield
rich input
Rich input box, implement @Someone and subject with color highlighting
Stars: ✭ 58 (-86.19%)
Mutual labels:  input, textfield
LycricsTextView
No description or website provided.
Stars: ✭ 14 (-96.67%)
Mutual labels:  textview, textfield

InputKit is an Elegant Kit to limits your input text, inspired by BlocksKit, written in both Objective-C & Swift.

中文介绍

Language

Installation

There are three ways to use InputKit in your project:

  • Using CocoaPods

  • Manual

  • Using Carthage

CocoaPods

CocoaPods is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries in your projects.

Podfile

platform :ios, '8.0'

Objective-C

pod 'InputKit', '~> 1.1.15'

Swift 3.x

pod 'InputKitSwift', '~> 1.1.14'

Swift 4.0

pod 'InputKitSwift', '~> 1.1.16'

Manual

Download repo's zip, and just drag ALL files in the InputKit folder to your projects.

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate InputKit or InputKitSwift into your Xcode project using Carthage, specify it in your Cartfile:

github "tingxins/InputKit"

Run carthage to build the frameworks and drag the appropriate framework (InputKit.framework or InputKitSwift.framework) into your Xcode project according to your need. Make sure to add only one framework and not both.

Usage

You can running InputKitDemo for more details.

Using Code

First, import header file when you are using.

#import "InputKit.h"

For UITextField:

Using TXLimitedTextField class instead.

TXLimitedTextFieldTypeDefault:

The type of TXLimitedTextFieldTypeDefault is just limits the number of characters for TXLimitedTextField that you input, and you can input any characters if you wanted, such as Chinese, Alphabet or Special Characters, e.g.

Example:


TXLimitedTextField *textField = [[TXLimitedTextField alloc] initWithFrame:CGRectMake(20, 200, 100, 30)];

// Of course, you can ignored this line of codes. TXLimitedTextFieldTypeDefault is default.
textField.limitedType = TXLimitedTextFieldTypeDefault;

// this means, you can only input ten characters. It limits the max number of characters that you input.
textField.limitedNumber = 10;

[self.view addSubview:textField];

inputKit-demo-default

TXLimitedTextFieldTypePrice:

The type of TXLimitedTextFieldTypePrice is not only limits the number of characters that you input, and can do more useful limited for your textfield. we usually used in TXLimitedTextField that only need to input int or decimal number.

Example:


TXLimitedTextField *textField = [[TXLimitedTextField alloc] initWithFrame:CGRectMake(20, 200, 100, 30)];

// Type
textField.limitedType = TXLimitedTextFieldTypePrice;

// you can also set the property in this type. It limits the max number of characters that you input
textField.limitedNumber = 10;

// this means, that only five ints can be inputted
textField.limitedPrefix = 5;

// this means, that only five decimal can be inputted
textField.limitedSuffix = 2;

[self.view addSubview:textField];

inputKit-demo-price

TXLimitedTextFieldTypeCustom:

This type of TXLimitedTextFieldTypeCustom is interesting. you can custom your own TXLimitedTextField, just using your regular expression. but some notes must be noticed when you using.

Example:


TXLimitedTextField *textField = [[TXLimitedTextField alloc] initWithFrame:CGRectMake(20, 200, 100, 30)];

// Of course, you can custom your field
textField.limitedType = TXLimitedTextFieldTypeCustom;

// you can also set the property in this type. It limits the max number of characters that you input
textField.limitedNumber = 10;

// limitedRegExs is a type of array argument that you can via it, and pass your regular expression to TXLimitedTextField. kTXLimitedTextFieldChineseOnlyRegex is a constant that define in TXMatchConst.h file. it's represent that only Chinese characters can be inputted.
textField.limitedRegExs = @[kTXLimitedTextFieldChineseOnlyRegex];

[self.view addSubview:textField];

inputKit-demo-custom

Using Nib

InputKit accessible from the Attributes Inspector. These attributes have been available:

inputKit-demo-inspector-en

About Callback

If you want to get a callback when you are input limited text, you should have to do this:

  1. Set the delegate of your TXLimitedTextField:

    
    self.limitedTextField.delegate = self;
    
    
  2. Implement -inputKitDidLimitedIllegalInputText: method:

    #pragma mark - InputKit 
    
    - (void)inputKitDidLimitedIllegalInputText:(id)obj {
        NSLog(@"If you are input text that limited. this method will be callback. you may do some here!");
    }
    
    

Other

Compatible with ReactiveCocoa

If you are using ReactiveCocoa in your Projects, please do make sure to set instance property of compatibleWithRAC = YES.(default is NO). Thanks for @devcxm open this issue in GitHub.

Sample Code:


TXLimitedTextView *limitedTextView = [[TXLimitedTextView alloc] initWithFrame:CGRectMake(20.f, 100.f, 120.f, 30.f)];
// If you are using `ReactiveCocoa` somewhere in your Projects, please make sure this property = YES
limitedTextView.compatibleWithRAC = YES;
limitedTextView.delegate = self;
limitedTextView.limitedNumber = 5;
[self.view addSubview:limitedTextView];

[limitedTextView.rac_textSignal subscribeNext:^(NSString * _Nullable x) {
  NSLog(@"come here ... %@", x);
}];

//....Enjoy it!👀

Communication

Absolutely,you can contribute to this project all the time if you want to.

  • If you need help or ask general question, just @tingxins in Weibo or Twitter, ofcourse, you can access to my blog.

  • If you found a bug, just open an issue.

  • If you have a feature request, just open an issue.

  • If you want to contribute, fork this repository, and then submit a pull request.

License

InputKit is available under the MIT license. See the LICENSE file for more info.

Ad

Welcome to my Official Account of WeChat.

wechat-qrcode

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].