Phiware

Move Along...

...nothing to see here...

Even the most casual observer might call this site dead. Not being a natural blogger and having picked up a full time job a number of years ago, I should have posted this a long time ago: I am not maintaining this site any longer. With the latest announcements made at Apple's WWDC, the text APIs have finally advanced in the area of rich text editing. The goal of Phitext was to bridge the gap between CoreText And UI Kit and the new API should make Phitext redundant.

I have decided to open up the Phitext code to GitHub; check it out, here. The code has become very dated and I wonder if the community will respond to it. The PhiColorWheelController is one of my favourite parts of the whole project and I'd like to see it in widespread use. I claim to be the first to release a rich text editor for iOS, but I am not the only. Here's to developers!

 
Phitext Update Version 1.2.3

This update contains some important fixes.

Synchronisation issues that caused crashes relating to the text frames tree and selection view have been fixed.

 
Phitext Update Version 1.2.2

This update contains various fixes and refinements.

Some display issues have been resolved, most importantly PhiTextEditorView now displays correctly when non-opaque (the default is opaque, which gives the best performance). Some changes to the magnifier have been made so that it now rotates properly when the device's orientation changes. Some bugs regarding display were found and fixed. Thanks to everyone who sent me bug reports!

Line number information has been added to the PhiTextLine object it is now possible to enumerate over text frames and then retrieve interesting information for each line in the frame. And it's fast.

The content size of the scroll view is now calculated in the background. This keeps the initialisation time small, even for large documents. The scroll indicators, however, will be hidden until the correct size of the content is determined. For most documents this shouldn't be noticeable.

 
Phitext: Version 1.1 Released

A much needed performance update has been made to Phitext; v1.1 is now available to download. If you have previously purchased the framework login and click the button below to download the free update. If you haven't decided to make the purchase this first update remains at the introductory price of $399.

The fully functional Developer Preview (only works in the simulator) has also been updated, but note that the default current version is for Xcode 3.2.2 (see the Quick Start Guide for steps to change the current version).

In order to improve performance UIView based drawing has been moved to CALayers, Phitext also overrides default actions to provide unobtrusive animations. Many changes have been made to PhiTextSelectionView

 
Phitext: Version 1.2 Released

The release of version 1.2 introduces a rewrite of the underlining data structure that manages Core Text frames and some new features including undo support, better text formatting API, custom menu items and more. The framework pricing is transitioning out of the introductory price and is now US$599. If you have previously made a purchase, the login is free; simply login and click the button below to begin the download. The sample application has been enhanced to include custom table controllers and cells to represent style attributes.

PhiTextDocument manages a sequence of PhiTextFrames (which contains a Core Text frames); these frames can now comply to the new (to iOS) NSPurgeableData protocol and free it's own memory in response to low memory warnings. PhiTextFrames are now kept in a tree structure to permit efficient access for text ranges or rectangle regions. PhiTextFrame and PhiTextPosition are now associated to a PhiTextLine that gives metrics of the line in the context of the frame and document.

PhiTextDocument now has an undo manager, PhiTextUndoManager, which PhiTextEditorView serves up to the system. Action groups are automatically created for typing, copy, paste, delete, autocorrection replacements and style changes. PhiTextUndoManager can be configured to ignore a group (except typing), whereby style changes will not be recorded and the other actions will be grouped with typing.

UIMenuItems can be added to a PhiTextEditorView, which will be added to the UIMenuController before it is shown. The editor can also group menu items into pages and manage the display of items into separate pages with a 'More...' item.

A number classes to encapsulate the Core Text attributes for NSAttributedString have been introduced to remove the need to work with the C based APIs of Core Text. Namely, PhiTextStyle, PhiTextParagraphStyle and PhiTextFont. PhiTextStyle can be used with PhiTextDocument to apply and retrieve formatting styles from anywhere in the document and also specify a default style for empty documents. PhiTextEditorView will allow a style to be applied to an empty text range in anticipation of inserted text, essentially associating the style to the caret.

The sample application now contains custom table controllers and views to display a list of fonts from font descriptors or an array of strings from which the user can choose. A new way to select color based on the concept of a color wheel is introduced. The PhiColorWheelController can be used to display a wedge from a color wheel and two colors can be mixed together to produce any hue or shade.

 
Introducing Phitext

Phitext, the first rich text view for the iPad, is available for beta testers. The framework is specially packaged for Xcode and includes the following classes:

  • PhiTextEditorView, implementing the UITextInputView protocol, this class is the main view that interacts with your application. It can be embedded into a UIScrollView or be a fixed size text area. PhiTextEditorView is responsible for the NSAttributedString and also includes many gesture recognisers to modify text selection.
  • PhiTextView, is a subview of PhiTextEditorView, and uses Core Text to render text and is responsible for determining the view's geometry and provides hit testing mechanisms to PhiTextEditorView.
  • PhiTextMagnifier, replicates the appearance and behaviour of the text magnifier of UITextView. Future updates will allow you to plugin your own magnifier to give your application it's distinctive appearance.
  • PhiTextSelectionView handles user interaction to modify the selected text of PhiTextEditorView. Two colors are blended with the text to ensure that the selected range is always apparent regardless of the color of the text or background.
The most requested feature is a system to manage the RTF file format, but there are many directions that Phitext could evolve. Phiware is looking for beta testers and is open to all suggestions.
Please register your interest using our contact form.

 

 
<< Start < Prev 1 2 Next > End >>

Page 1 of 2