Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. TPKeyboardAvoiding

TPKeyboardAvoiding

ZlibObjective-C

A drop-in universal solution for moving text fields out of the way of the keyboard in iOS.

Visit WebsiteGitHubGitHub
5.8k stars917 forks0 contributors

What is TPKeyboardAvoiding?

TPKeyboardAvoiding is an iOS library that automatically moves text fields and text views out of the way of the keyboard during editing. It solves the common problem of keyboard obstruction in forms by providing drop-in subclasses for UIScrollView and UITableView, handling all keyboard notifications and animations internally.

Target Audience

iOS developers building apps with forms, text input, or any interface where keyboard interaction is required, especially those using UITableView or UIScrollView layouts.

Value Proposition

Developers choose TPKeyboardAvoiding because it eliminates the need to write and maintain custom keyboard avoidance code for each view controller, offering a reliable, universal solution that works out-of-the-box with smooth animations and automatic Next button handling.

Overview

A drop-in universal solution for moving text fields out of the way of the keyboard in iOS

Use Cases

Best For

  • Building forms in iOS apps with multiple text fields
  • Implementing keyboard avoidance in UITableView-based interfaces
  • Creating scrollable views with text input in UIKit
  • Simplifying keyboard management in legacy Objective-C projects
  • Avoiding custom UIKeyboardWillShowNotification handling
  • Improving user experience in data-entry focused iOS applications

Not Ideal For

  • SwiftUI projects requiring native keyboard avoidance solutions
  • Apps needing highly customized, non-standard keyboard interaction logic
  • Teams preferring pure Swift dependencies to avoid Objective-C bridging
  • UITableViewController implementations without xib files, as setting a custom class is not straightforward

Pros & Cons

Pros

Drop-in Simplicity

By simply subclassing TPKeyboardAvoidingTableView or TPKeyboardAvoidingScrollView, developers enable automatic keyboard avoidance without writing custom notification handling code, as described in the Usage section.

Universal Setup Support

It works with both UITableView-based interfaces and manually placed views within a scroll view, making it versatile for various iOS app layouts, as highlighted in the Introduction.

Automatic Form Navigation

Automatically hooks up 'Next' buttons on the keyboard to cycle through text fields, improving user experience in forms without additional delegate setup, mentioned in the Key Features.

Smooth Animation Handling

Adjusts content insets instead of frames to avoid jerky animations and work around iOS bugs, ensuring a seamless user experience, as explained in the Notes section.

Cons

Xib Dependency for UITableViewController

For UITableViewController classes without a xib, the README admits there is no easy way to make the UITableView a custom class, requiring workarounds or xib creation.

Objective-C Legacy

Written in Objective-C, it introduces an extra dependency and potential bridging complexities in modern Swift-only iOS projects, which might be a drawback for some teams.

Limited Customization

As a drop-in solution, it offers less flexibility for developers who need to implement specific keyboard avoidance behaviors beyond the provided automatic adjustments.

Outdated Maintenance

With the library last updated in 2013, there may be concerns about compatibility with newer iOS versions and lack of recent bug fixes or feature updates.

Frequently Asked Questions

Quick Stats

Stars5,802
Forks917
Contributors0
Open Issues98
Last commit2 years ago
CreatedSince 2011

Tags

#ios#uitextfield#objective-c#uitableview#mobile-development#uiscrollview#uikit#uitextview

Built With

U
UIKit
O
Objective-C

Links & Resources

Website

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

IQKeyboardManagerIQKeyboardManager

Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.

Stars16,622
Forks2,450
Last commit1 month ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub