Latest 1.0.0
Homepage https://github.com/djui/UDBarTrackballItem
License MIT
Platforms ios 5.0, requires ARC
Authors

Overview

UDBarTrackballItem is a button view for iOS which can position the text cursor (caret) and define the text selection of a text view in parallel to its touch drag movement. The user interaction pattern is similar to a Thinkpad TrackPoint.

The intention was to create a text navigation component for text editor apps that makes the task of frequent text positioning and selection more convenient. The default way of positioning and selection requires a touch down delay to distinguish view scrolling and editing mode as well as the magnifying glass which distract the precise positioning more that it helps. The tradeoff is a decrease in view real-estate for the input accessory view bar (which is quite common in text editors nowadays).

It is implemented as a UIBarButtonItem subclass to control the caret movement and text selection of a UITextView and intended to be use inside a InputAccessoryView (UIToolbar).

Screencast of the sample project example

Screenshot of the sample project example

Features

  • Single tap dragging cursor (caret) positioning
  • Double tap dragging text selection
  • Auto scrolling of text view when positioning out of bound
  • Auto popup editing menu after positioning or selection
  • Horizontal side-to-side reach distance without re-tap
  • Horizontal and vertial layout orientations
  • Uses ARC and targets iOS 5.0+

Installation

To use UDBarTrackballItem in your own project:

  • Import UDBarTrackballItem.h and UDBarTrackballItem.m and all png image files into your project
  • Include UDBarTrackballItem.h (#import "UDBarTrackballItem.h") where needed, or in your precompiled header
  • Initialize the new UDBarTrackballItem for a UITextView

This project uses ARC and targets iOS 5.0+.

Usage

UDBarTrackballItem *trackballItem = [[UDBarTrackballItem alloc] initForTextView:_textView];
[_toolbar setItems:@[trackballItem] animated:YES];

Credits

Write app for the innovative inspiration for and first-time appearance of this component.

License

This code is distributed under the terms and conditions of the MIT license. Review the full LICENSE for all the details.

Support/Contact

Think you found a bug or just have a feature request? Just post it as an issue, but make sure to review the existing issues first to avoid duplicates. You can also hit me up at @uwe_ for anything else, or to let me know how you’re using this component. Thanks!

Latest podspec

{
    "name": "UDBarTrackballItem",
    "version": "1.0.0",
    "summary": "Button view which can position text caret and define text selection of a text view in parallel to its touch drag movement.",
    "homepage": "https://github.com/djui/UDBarTrackballItem",
    "license": "MIT",
    "authors": {
        "Uwe Dauernheim": "[email protected]"
    },
    "source": {
        "git": "https://github.com/djui/UDBarTrackballItem.git",
        "tag": "1.0.0"
    },
    "platforms": {
        "ios": "5.0"
    },
    "source_files": "UDBarTrackballItem",
    "resources": "UDBarTrackballItem/images/*.png",
    "requires_arc": true
}

Pin It on Pinterest

Share This