Format number field value

This commit is contained in:
Roman Efimov
2013-04-04 17:46:25 -05:00
parent 398a788c87
commit 86a55d29ec
40 changed files with 3433 additions and 799 deletions

View File

@@ -1,3 +1,3 @@
platform :ios, '5.0'
pod 'REFormattedNumberField'
pod 'REFormattedNumberField', '~> 1.0.3'
pod 'SDWebImage'

View File

@@ -1,17 +1,15 @@
PODS:
- REFormattedNumberField (1.0.2)
- SDWebImage (3.2):
- SDWebImage/MapKit (= 3.2)
- SDWebImage/MapKit (3.2)
- REFormattedNumberField (1.0.3)
- SDWebImage (3.2):
- SDWebImage/MapKit
- SDWebImage/MapKit (3.2)
DEPENDENCIES:
- REFormattedNumberField
- SDWebImage
- REFormattedNumberField (~> 1.0.3)
- SDWebImage
SPEC CHECKSUMS:
REFormattedNumberField: a8031ed845b21935a8bd8f5a5bdcb735a4947d94
REFormattedNumberField: 8aabb3be9ce2dd53aafd8f4783cf43413ad288ef
SDWebImage: 8082fe8d658ccafaaecd9e5ecda12ed01f09ba9c
SDWebImage/MapKit: 8082fe8d658ccafaaecd9e5ecda12ed01f09ba9c
COCOAPODS: 0.16.4
COCOAPODS: 0.17.2

View File

@@ -0,0 +1,4 @@
Documentation set was installed to Xcode!
Path: /Users/roman/Library/Developer/Shared/Documentation/DocSets/org.cocoapods.REFormattedNumberField-1.0.3.docset
Time: 2013-04-04 22:44:34 +0000

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleIdentifier</key>
<string>org.cocoapods.REFormattedNumberField-1.0.3</string>
<key>CFBundleName</key>
<string>REFormattedNumberField 1.0.3 Documentation</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>DocSetDescription</key>
<string>UITextField subclass that allows number input in a predefined format.</string>
<key>DocSetFeedName</key>
<string>REFormattedNumberField 1.0.3 Documentation</string>
<key>DocSetMinimumXcodeVersion</key>
<string>3.0</string>
<key>DashDocSetFamily</key>
<string>appledoc</string>
<key>DocSetPublisherIdentifier</key>
<string>org.cocoapods.documentation</string>
<key>DocSetPublisherName</key>
<string>Roman Efimov</string>
<key>NSHumanReadableCopyright</key>
<string>Roman Efimov</string>
</dict>
</plist>

View File

@@ -0,0 +1,325 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="html/html; charset=utf-8" />
<title>REFormattedNumberField Class Reference</title>
<meta id="xcode-display" name="xcode-display" content="render"/>
<meta name="viewport" content="width=550" />
<link rel="stylesheet" type="text/css" href="../css/styles.css" media="all" />
<link rel="stylesheet" type="text/css" media="print" href="../css/stylesPrint.css" />
<meta name="generator" content="appledoc 2.1 (build 840)" />
</head>
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="../index.html">REFormattedNumberField 1.0.3 </a></h1>
<a id="developerHome" href="../index.html">Roman Efimov</a>
</div>
<div id="title" role="banner">
<h1 class="hideInXcode">REFormattedNumberField Class Reference</h1>
</div>
<ul id="headerButtons" role="toolbar">
<li id="toc_button">
<button aria-label="Show Table of Contents" role="checkbox" class="open" id="table_of_contents"><span class="disclosure"></span>Table of Contents</button>
</li>
<li id="jumpto_button" role="navigation">
<select id="jumpTo">
<option value="top">Jump To&#133;</option>
<option value="tasks">Tasks</option>
<option value="properties">Properties</option>
<option value="//api/name/format">&nbsp;&nbsp;&nbsp;&nbsp;format</option>
<option value="//api/name/unformattedText">&nbsp;&nbsp;&nbsp;&nbsp;unformattedText</option>
<option value="instance_methods">Instance Methods</option>
<option value="//api/name/string:withNumberFormat:">&nbsp;&nbsp;&nbsp;&nbsp;- string:withNumberFormat:</option>
</select>
</li>
</ul>
</header>
<nav id="tocContainer" class="isShowingTOC">
<ul id="toc" role="tree">
<li role="treeitem" id="task_treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#tasks">Tasks</a></span><ul>
</ul></li>
<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#properties">Properties</a></span><ul>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/format">format</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/unformattedText">unformattedText</a></span></li>
</ul></li>
<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/string:withNumberFormat:">string:withNumberFormat:</a></span></li>
</ul></li>
</ul>
</nav>
<article>
<div id="contents" class="isShowingTOC" role="main">
<a title="REFormattedNumberField Class Reference" name="top"></a>
<div class="main-navigation navigation-top">
<ul>
<li><a href="../index.html">Index</a></li>
<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
</div>
<div id="header">
<div class="section-header">
<h1 class="title title-header">REFormattedNumberField Class Reference</h1>
</div>
</div>
<div id="container">
<div class="section section-specification"><table cellspacing="0"><tbody>
<tr>
<td class="specification-title">Inherits from</td>
<td class="specification-value">UITextField</td>
</tr><tr>
<td class="specification-title">Declared in</td>
<td class="specification-value">REFormattedNumberField.h</td>
</tr>
</tbody></table></div>
<div class="section section-tasks">
<a title="Tasks" name="tasks"></a>
<h2 class="subtitle subtitle-tasks">Tasks</h2>
<ul class="task-list">
<li>
<span class="tooltip">
<code><a href="#//api/name/format">&nbsp;&nbsp;format</a></code>
</span>
<span class="task-item-suffix">property</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/unformattedText">&nbsp;&nbsp;unformattedText</a></code>
</span>
<span class="task-item-suffix">property</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/string:withNumberFormat:">&ndash;&nbsp;string:withNumberFormat:</a></code>
</span>
</li>
</ul>
</div>
<div class="section section-methods">
<a title="Properties" name="properties"></a>
<h2 class="subtitle subtitle-methods">Properties</h2>
<div class="section-method">
<a name="//api/name/format" title="format"></a>
<h3 class="subsubtitle method-title">format</h3>
<div class="method-subsection method-declaration"><code>@property (copy, readwrite, nonatomic) NSString *format</code></div>
</div>
<div class="section-method">
<a name="//api/name/unformattedText" title="unformattedText"></a>
<h3 class="subsubtitle method-title">unformattedText</h3>
<div class="method-subsection method-declaration"><code>@property (copy, readonly, nonatomic) NSString *unformattedText</code></div>
</div>
</div>
<div class="section section-methods">
<a title="Instance Methods" name="instance_methods"></a>
<h2 class="subtitle subtitle-methods">Instance Methods</h2>
<div class="section-method">
<a name="//api/name/string:withNumberFormat:" title="string:withNumberFormat:"></a>
<h3 class="subsubtitle method-title">string:withNumberFormat:</h3>
<div class="method-subsection method-declaration"><code>- (NSString *)string:(NSString *)<em>string</em> withNumberFormat:(NSString *)<em>format</em></code></div>
</div>
</div>
</div>
<div class="main-navigation navigation-bottom">
<ul>
<li><a href="../index.html">Index</a></li>
<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
</div>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 Roman Efimov. All rights reserved. (Last updated: 2013-04-04)</span><br />
<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.1 (build 840)</a>.</span></p>
</div>
</div>
</div>
</article>
<script type="text/javascript">
function jumpToChange()
{
window.location.hash = this.options[this.selectedIndex].value;
}
function toggleTOC()
{
var contents = document.getElementById('contents');
var tocContainer = document.getElementById('tocContainer');
if (this.getAttribute('class') == 'open')
{
this.setAttribute('class', '');
contents.setAttribute('class', '');
tocContainer.setAttribute('class', '');
window.name = "hideTOC";
}
else
{
this.setAttribute('class', 'open');
contents.setAttribute('class', 'isShowingTOC');
tocContainer.setAttribute('class', 'isShowingTOC');
window.name = "";
}
return false;
}
function toggleTOCEntryChildren(e)
{
e.stopPropagation();
var currentClass = this.getAttribute('class');
if (currentClass == 'children') {
this.setAttribute('class', 'children open');
}
else if (currentClass == 'children open') {
this.setAttribute('class', 'children');
}
return false;
}
function tocEntryClick(e)
{
e.stopPropagation();
return true;
}
function init()
{
var selectElement = document.getElementById('jumpTo');
selectElement.addEventListener('change', jumpToChange, false);
var tocButton = document.getElementById('table_of_contents');
tocButton.addEventListener('click', toggleTOC, false);
var taskTreeItem = document.getElementById('task_treeitem');
if (taskTreeItem.getElementsByTagName('li').length > 0)
{
taskTreeItem.setAttribute('class', 'children');
taskTreeItem.firstChild.setAttribute('class', 'disclosure');
}
var tocList = document.getElementById('toc');
var tocEntries = tocList.getElementsByTagName('li');
for (var i = 0; i < tocEntries.length; i++) {
tocEntries[i].addEventListener('click', toggleTOCEntryChildren, false);
}
var tocLinks = tocList.getElementsByTagName('a');
for (var i = 0; i < tocLinks.length; i++) {
tocLinks[i].addEventListener('click', tocEntryClick, false);
}
if (window.name == "hideTOC") {
toggleTOC.call(tocButton);
}
}
window.onload = init;
// If showing in Xcode, hide the TOC and Header
if (navigator.userAgent.match(/xcode/i)) {
document.getElementById("contents").className = "hideInXcode"
document.getElementById("tocContainer").className = "hideInXcode"
document.getElementById("top_header").className = "hideInXcode"
}
</script>
</body>
</html>

View File

@@ -0,0 +1,584 @@
body {
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
font-size: 13px;
}
code {
font-family: Courier, Consolas, monospace;
font-size: 13px;
color: #666;
}
pre {
font-family: Courier, Consolas, monospace;
font-size: 13px;
line-height: 18px;
tab-interval: 0.5em;
border: 1px solid #C7CFD5;
background-color: #F1F5F9;
color: #666;
padding: 0.3em 1em;
}
ul {
list-style-type: square;
}
li {
margin-bottom: 10px;
}
a, a code {
text-decoration: none;
color: #36C;
}
a:hover, a:hover code {
text-decoration: underline;
color: #36C;
}
h2 {
border-bottom: 1px solid #8391A8;
color: #3C4C6C;
font-size: 187%;
font-weight: normal;
margin-top: 1.75em;
padding-bottom: 2px;
}
table {
margin-bottom: 4em;
border-collapse:collapse;
vertical-align: middle;
}
td {
border: 1px solid #9BB3CD;
padding: .667em;
font-size: 100%;
}
th {
border: 1px solid #9BB3CD;
padding: .3em .667em .3em .667em;
background: #93A5BB;
font-size: 103%;
font-weight: bold;
color: white;
text-align: left;
}
/* @group Common page elements */
#top_header {
height: 91px;
left: 0;
min-width: 598px;
position: absolute;
right: 0;
top: 0;
z-index: 900;
}
#footer {
clear: both;
padding-top: 20px;
text-align: center;
}
#contents, #overview_contents {
-webkit-overflow-scrolling: touch;
border-top: 1px solid #2B334F;
position: absolute;
top: 91px;
left: 0;
right: 0;
bottom: 0;
overflow-x: hidden;
overflow-y: auto;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
min-width: 550px;
}
#contents.isShowingTOC {
left: 230px;
min-width: 320px;
}
.copyright {
font-size: 12px;
}
.generator {
font-size: 11px;
}
.main-navigation ul li {
display: inline;
margin-left: 15px;
list-style: none;
}
.navigation-top {
clear: both;
float: right;
}
.navigation-bottom {
clear: both;
float: right;
margin-top: 20px;
margin-bottom: -10px;
}
.open > .disclosure {
background-image: url("../img/disclosure_open.png");
}
.disclosure {
background: url("../img/disclosure.png") no-repeat scroll 0 0;
}
.disclosure, .nodisclosure {
display: inline-block;
height: 8px;
margin-right: 5px;
position: relative;
width: 9px;
}
/* @end */
/* @group Header */
#top_header #library {
background: url("../img/library_background.png") repeat-x 0 0 #485E78;
background-color: #ccc;
height: 35px;
font-size: 115%;
}
#top_header #library #libraryTitle {
color: #FFFFFF;
margin-left: 15px;
text-shadow: 0 -1px 0 #485E78;
top: 8px;
position: absolute;
}
#top_header #library #developerHome {
color: #92979E;
right: 15px;
top: 8px;
position: absolute;
}
#top_header #library a:hover {
text-decoration: none;
}
#top_header #title {
background: url("../img/title_background.png") repeat-x 0 0 #8A98A9;
border-bottom: 1px solid #B6B6B6;
height: 25px;
overflow: hidden;
}
#top_header h1 {
font-size: 115%;
font-weight: normal;
margin: 0;
padding: 3px 0 2px;
text-align: center;
text-shadow: 0 1px 0 #D5D5D5;
white-space: nowrap;
}
#headerButtons {
background-color: #D8D8D8;
background-image: url("../img/button_bar_background.png");
border-bottom: 1px solid #EDEDED;
border-top: 1px solid #2B334F;
font-size: 8pt;
height: 28px;
left: 0;
list-style: none outside none;
margin: 0;
overflow: hidden;
padding: 0;
position: absolute;
right: 0;
top: 61px;
}
#headerButtons li {
background-repeat: no-repeat;
display: inline;
margin-top: 0;
margin-bottom: 0;
padding: 0;
}
#toc_button button {
border-color: #ACACAC;
border-style: none solid none none;
border-width: 0 1px 0 0;
height: 28px;
margin: 0;
padding-left: 30px;
text-align: left;
width: 230px;
}
li#jumpto_button {
left: 230px;
margin-left: 0;
position: absolute;
}
li#jumpto_button select {
height: 22px;
margin: 5px 2px 0 10px;
max-width: 300px;
}
/* @end */
/* @group Table of contents */
#tocContainer.isShowingTOC {
border-right: 1px solid #ACACAC;
display: block;
overflow-x: hidden;
overflow-y: auto;
padding: 0;
}
#tocContainer {
background-color: #E4EBF7;
border-top: 1px solid #2B334F;
bottom: 0;
display: none;
left: 0;
overflow: hidden;
position: absolute;
top: 91px;
width: 229px;
}
#tocContainer > ul#toc {
font-size: 11px;
margin: 0;
padding: 12px 0 18px;
width: 209px;
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
}
#tocContainer > ul#toc > li {
margin: 0;
padding: 0 0 7px 30px;
text-indent: -15px;
}
#tocContainer > ul#toc > li > .sectionName a {
color: #000000;
font-weight: bold;
}
#tocContainer > ul#toc > li > .sectionName a:hover {
text-decoration: none;
}
#tocContainer > ul#toc li.children > ul {
display: none;
height: 0;
}
#tocContainer > ul#toc > li > ul {
margin: 0;
padding: 0;
}
#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li {
margin-left: 0;
margin-bottom: 0;
padding-left: 15px;
}
#tocContainer > ul#toc > li ul {
list-style: none;
margin-right: 0;
padding-right: 0;
}
#tocContainer > ul#toc li.children.open > ul {
display: block;
height: auto;
margin-left: -15px;
padding-left: 0;
}
#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li {
margin-left: 0;
padding-left: 15px;
}
#tocContainer li ul li {
margin-top: 0.583em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#tocContainer li ul li span.sectionName {
white-space: normal;
}
#tocContainer > ul#toc > li > ul > li > .sectionName a {
font-weight: bold;
}
#tocContainer > ul#toc > li > ul a {
color: #4F4F4F;
}
/* @end */
/* @group Index formatting */
.index-title {
font-size: 13px;
font-weight: normal;
}
.index-column {
float: left;
width: 30%;
min-width: 200px;
font-size: 11px;
}
.index-column ul {
margin: 8px 0 0 0;
padding: 0;
list-style: none;
}
.index-column ul li {
margin: 0 0 3px 0;
padding: 0;
}
.hierarchy-column {
min-width: 400px;
}
.hierarchy-column ul {
margin: 3px 0 0 15px;
}
.hierarchy-column ul li {
list-style-type: square;
}
/* @end */
/* @group Common formatting elements */
.title {
font-weight: normal;
font-size: 215%;
margin-top:0;
}
.subtitle {
font-weight: normal;
font-size: 180%;
color: #3C4C6C;
border-bottom: 1px solid #5088C5;
}
.subsubtitle {
font-weight: normal;
font-size: 145%;
height: 0.7em;
}
.note {
border: 1px solid #5088C5;
background-color: white;
margin: 1.667em 0 1.75em 0;
padding: 0 .667em .083em .750em;
}
.warning {
border: 1px solid #5088C5;
background-color: #F0F3F7;
margin-bottom: 0.5em;
padding: 0.3em 0.8em;
}
.bug {
border: 1px solid #000;
background-color: #ffffcc;
margin-bottom: 0.5em;
padding: 0.3em 0.8em;
}
.deprecated {
color: #F60425;
}
/* @end */
/* @group Common layout */
.section {
margin-top: 3em;
}
/* @end */
/* @group Object specification section */
.section-specification {
margin-left: 2.5em;
margin-right: 2.5em;
font-size: 12px;
}
.section-specification table {
margin-bottom: 0em;
border-top: 1px solid #d6e0e5;
}
.section-specification td {
vertical-align: top;
border-bottom: 1px solid #d6e0e5;
border-left-width: 0px;
border-right-width: 0px;
border-top-width: 0px;
padding: .6em;
}
.section-specification .specification-title {
font-weight: bold;
}
/* @end */
/* @group Tasks section */
.task-list {
list-style-type: none;
padding-left: 0px;
}
.task-list li {
margin-bottom: 3px;
}
.task-item-suffix {
color: #996;
font-size: 12px;
font-style: italic;
margin-left: 0.5em;
}
span.tooltip span.tooltip {
font-size: 1.0em;
display: none;
padding: 0.3em;
border: 1px solid #aaa;
background-color: #fdfec8;
color: #000;
text-align: left;
}
span.tooltip:hover span.tooltip {
display: block;
position: absolute;
margin-left: 2em;
}
/* @end */
/* @group Method section */
.section-method {
margin-top: 2.3em;
}
.method-title {
margin-bottom: 1.5em;
}
.method-subtitle {
margin-top: 0.7em;
margin-bottom: 0.2em;
}
.method-subsection p {
margin-top: 0.4em;
margin-bottom: 0.8em;
}
.method-declaration {
margin-top:1.182em;
margin-bottom:.909em;
}
.method-declaration code {
font:14px Courier, Consolas, monospace;
color:#000;
}
.declaration {
color: #000;
}
.argument-def {
margin-top: 0.3em;
margin-bottom: 0.3em;
}
.argument-def dd {
margin-left: 1.25em;
}
.see-also-section ul {
list-style-type: none;
padding-left: 0px;
margin-top: 0;
}
.see-also-section li {
margin-bottom: 3px;
}
.declared-in-ref {
color: #666;
}
#tocContainer.hideInXcode {
display: none;
border: 0px solid black;
}
#top_header.hideInXcode {
display: none;
}
#contents.hideInXcode {
border: 0px solid black;
top: 0px;
left: 0px;
}
/* @end */

View File

@@ -0,0 +1,22 @@
header {
display: none;
}
div.main-navigation, div.navigation-top {
display: none;
}
div#overview_contents, div#contents.isShowingTOC, div#contents {
overflow: visible;
position: relative;
top: 0px;
border: none;
left: 0;
}
#tocContainer.isShowingTOC {
display: none;
}
nav {
display: none;
}

View File

@@ -0,0 +1,70 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>REFormattedNumberField 1.0.3 Hierarchy</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" media="all" />
<link rel="stylesheet" type="text/css" media="print" href="css/stylesPrint.css" />
<meta name="generator" content="appledoc 2.1 (build 840)" />
</head>
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="index.html">REFormattedNumberField 1.0.3 </a></h1>
<a id="developerHome" href="index.html">Roman Efimov</a>
</div>
<div id="title" role="banner">
<h1 class="hideInXcode">REFormattedNumberField 1.0.3 Hierarchy</h1>
</div>
<ul id="headerButtons" role="toolbar"></ul>
</header>
<article>
<div id="overview_contents" role="main">
<div class="main-navigation navigation-top">
<a href="index.html">Previous</a>
</div>
<div id="header">
<div class="section-header">
<h1 class="title title-header">REFormattedNumberField 1.0.3 Hierarchy</h1>
</div>
</div>
<div id="container">
<div class="index-column hierarchy-column">
<h2 class="index-title">Class Hierarchy</h2>
<ul>
<li>UITextField
<ul>
<li><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-navigation navigation-bottom">
<a href="index.html">Previous</a>
</div>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 Roman Efimov. All rights reserved. (Last updated: 2013-04-04)</span><br />
<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.1 (build 840)</a>.</span></p>
</div>
</div>
</div>
</article>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

View File

@@ -0,0 +1,184 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>REFormattedNumberField 1.0.3 Reference</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" media="all" />
<link rel="stylesheet" type="text/css" media="print" href="css/stylesPrint.css" />
<meta name="generator" content="appledoc 2.1 (build 840)" />
</head>
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="index.html">REFormattedNumberField 1.0.3 </a></h1>
<a id="developerHome" href="index.html">Roman Efimov</a>
</div>
<div id="title" role="banner">
<h1 class="hideInXcode">REFormattedNumberField 1.0.3 Reference</h1>
</div>
<ul id="headerButtons" role="toolbar"></ul>
</header>
<article>
<div id="overview_contents" role="main">
<div class="main-navigation navigation-top">
<a href="hierarchy.html">Next</a>
</div>
<div id="header">
<div class="section-header">
<h1 class="title title-header">REFormattedNumberField 1.0.3 Reference</h1>
</div>
</div>
<div id="container">
<div class="section section-overview index-overview">
<h1><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a></h1>
<p>UITextField subclass that allows numeric input in a predefined format.</p>
<p>!<a href="https://github.com/romaonthego/REFormattedNumberField/raw/master/Screenshot.png" title="REFormattedNumberField Screenshot">Screenshot of REFormattedNumberField</a></p>
<h2>Requirements</h2>
<ul>
<li>Xcode 4.5 or higher</li>
<li>Apple LLVM compiler</li>
<li>iOS 5.0 or higher</li>
<li>ARC</li>
</ul>
<h2>Demo</h2>
<p>Build and run the <code>REFormattedNumberFieldExample</code> project in Xcode to see <a href="Classes/REFormattedNumberField.html"><code>REFormattedNumberField</code></a> in action.</p>
<h2>Installation</h2>
<h3>CocoaPods</h3>
<p>The recommended approach for installating <a href="Classes/REFormattedNumberField.html"><code>REFormattedNumberField</code></a> is via the <a href="http://cocoapods.org/">CocoaPods</a> package manager, as it provides flexible dependency management and dead simple installation.
For best results, it is recommended that you install via CocoaPods >= <strong>0.15.2</strong> using Git >= <strong>1.8.0</strong> installed via Homebrew.</p>
<p>Install CocoaPods if not already available:</p>
<p><code>bash
$ [sudo] gem install cocoapods
$ pod setup
</code></p>
<p>Change to the directory of your Xcode project:</p>
<p><code>bash
$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
</code></p>
<p>Edit your Podfile and add <a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a>:</p>
<p><code>bash
platform :ios, '5.0'
pod 'REFormattedNumberField', '~&gt; 1.0.3'
</code></p>
<p>Install into your Xcode project:</p>
<p><code>bash
$ pod install
</code></p>
<p>Open your project in Xcode from the .xcworkspace file (not the usual project file)</p>
<p><code>bash
$ open MyProject.xcworkspace
</code></p>
<p>Please note that if your installation fails, it may be because you are installing with a version of Git lower than CocoaPods is expecting. Please ensure that you are running Git >= <strong>1.8.0</strong> by executing <code>git --version</code>. You can get a full picture of the installation details by executing <code>pod install --verbose</code>.</p>
<h3>Manual Install</h3>
<p>All you need to do is drop <a href="Classes/REFormattedNumberField.html"><code>REFormattedNumberField</code></a> files into your project, and add <code>#include "</code>REFormattedNumberField<code>.h"</code> to the top of classes that will use it.</p>
<h2>Example Usage</h2>
<p>Pretty much all you need is just to specify <code>format</code> NSString, where <code>X</code> are digits and all other characters are separators.</p>
<p>``` objective-c
<a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *phoneField1 = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 20, 280, 30)];
phoneField1.format = @&ldquo;(XXX) XXX-XXXX&rdquo;;
[self.view addSubview:phoneField1];</p>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *phoneField2 = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 80, 280, 30)];
phoneField2.format = @&ldquo;+X (XXX) XXX-XXXX&rdquo;;
[self.view addSubview:phoneField2];</p>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *ccField = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 140, 280, 30)];
ccField.format = @&ldquo;XXXX XXXX XXXX XXXX&rdquo;;
[self.view addSubview:ccField];</p>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *ccExpirationField = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 200, 280, 30)];
ccExpirationField.format = @&ldquo;XX/XX&rdquo;;
[self.view addSubview:ccExpirationField];
```</p>
<h2>Contact</h2>
<p>Roman Efimov</p>
<ul>
<li><a href="https://github.com/romaonthego">https://github.com/romaonthego</a></li>
<li><a href="https://twitter.com/romaonthego">https://twitter.com/romaonthego</a></li>
<li>romefimov@gmail.com</li>
</ul>
<h2>License</h2>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> is available under the MIT license.</p>
<p>Copyright © 2013 Roman Efimov.</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &ldquo;Software&rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
</div>
<div class="index-column">
<h2 class="index-title">Class References</h2>
<ul>
<li><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a></li>
</ul>
</div>
</div>
<div class="main-navigation navigation-bottom">
<a href="hierarchy.html">Next</a>
</div>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 Roman Efimov. All rights reserved. (Last updated: 2013-04-04)</span><br />
<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.1 (build 840)</a>.</span></p>
</div>
</div>
</div>
</article>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<DocSetNodes version="1.0">
<TOC>
<Node type="folder">
<Name>REFormattedNumberField 1.0.3</Name>
<Path>index.html</Path>
<Subnodes>
<Node type="folder">
<Name>Classes</Name>
<Path>index.html</Path>
<Subnodes>
<NodeRef refid="1"/>
</Subnodes>
</Node>
</Subnodes>
</Node>
</TOC>
<Library>
<Node id="1">
<Name>REFormattedNumberField</Name>
<Path>Classes/REFormattedNumberField.html</Path>
</Node>
</Library>
</DocSetNodes>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<Tokens version="1.0">
<File path="Classes/REFormattedNumberField.html">
<Token>
<TokenIdentifier>//apple_ref/occ/cl/REFormattedNumberField</TokenIdentifier>
<Abstract type="html"></Abstract>
<DeclaredIn>REFormattedNumberField.h</DeclaredIn>
<NodeRef refid="1"/>
</Token>
<Token>
<TokenIdentifier>//apple_ref/occ/instm/REFormattedNumberField/setFormat:</TokenIdentifier>
<Abstract type="html"></Abstract>
<DeclaredIn>REFormattedNumberField.h</DeclaredIn>
<Declaration>@property (copy, readwrite, nonatomic) NSString *format</Declaration>
<Anchor>//api/name/format</Anchor>
</Token>
<Token>
<TokenIdentifier>//apple_ref/occ/instp/REFormattedNumberField/format</TokenIdentifier>
<Abstract type="html"></Abstract>
<DeclaredIn>REFormattedNumberField.h</DeclaredIn>
<Declaration>@property (copy, readwrite, nonatomic) NSString *format</Declaration>
<Anchor>//api/name/format</Anchor>
</Token>
<Token>
<TokenIdentifier>//apple_ref/occ/instm/REFormattedNumberField/setUnformattedText:</TokenIdentifier>
<Abstract type="html"></Abstract>
<DeclaredIn>REFormattedNumberField.h</DeclaredIn>
<Declaration>@property (copy, readonly, nonatomic) NSString *unformattedText</Declaration>
<Anchor>//api/name/unformattedText</Anchor>
</Token>
<Token>
<TokenIdentifier>//apple_ref/occ/instp/REFormattedNumberField/unformattedText</TokenIdentifier>
<Abstract type="html"></Abstract>
<DeclaredIn>REFormattedNumberField.h</DeclaredIn>
<Declaration>@property (copy, readonly, nonatomic) NSString *unformattedText</Declaration>
<Anchor>//api/name/unformattedText</Anchor>
</Token>
<Token>
<TokenIdentifier>//apple_ref/occ/instm/REFormattedNumberField/string:withNumberFormat:</TokenIdentifier>
<Abstract type="html"></Abstract>
<DeclaredIn>REFormattedNumberField.h</DeclaredIn>
<Declaration>- (NSString *)string:(NSString *)string withNumberFormat:(NSString *)format</Declaration>
<Anchor>//api/name/string:withNumberFormat:</Anchor>
</Token>
</File>
</Tokens>

View File

@@ -0,0 +1,325 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="html/html; charset=utf-8" />
<title>REFormattedNumberField Class Reference</title>
<meta id="xcode-display" name="xcode-display" content="render"/>
<meta name="viewport" content="width=550" />
<link rel="stylesheet" type="text/css" href="../css/styles.css" media="all" />
<link rel="stylesheet" type="text/css" media="print" href="../css/stylesPrint.css" />
<meta name="generator" content="appledoc 2.1 (build 840)" />
</head>
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="../index.html">REFormattedNumberField 1.0.3 </a></h1>
<a id="developerHome" href="../index.html">Roman Efimov</a>
</div>
<div id="title" role="banner">
<h1 class="hideInXcode">REFormattedNumberField Class Reference</h1>
</div>
<ul id="headerButtons" role="toolbar">
<li id="toc_button">
<button aria-label="Show Table of Contents" role="checkbox" class="open" id="table_of_contents"><span class="disclosure"></span>Table of Contents</button>
</li>
<li id="jumpto_button" role="navigation">
<select id="jumpTo">
<option value="top">Jump To&#133;</option>
<option value="tasks">Tasks</option>
<option value="properties">Properties</option>
<option value="//api/name/format">&nbsp;&nbsp;&nbsp;&nbsp;format</option>
<option value="//api/name/unformattedText">&nbsp;&nbsp;&nbsp;&nbsp;unformattedText</option>
<option value="instance_methods">Instance Methods</option>
<option value="//api/name/string:withNumberFormat:">&nbsp;&nbsp;&nbsp;&nbsp;- string:withNumberFormat:</option>
</select>
</li>
</ul>
</header>
<nav id="tocContainer" class="isShowingTOC">
<ul id="toc" role="tree">
<li role="treeitem" id="task_treeitem"><span class="nodisclosure"></span><span class="sectionName"><a href="#tasks">Tasks</a></span><ul>
</ul></li>
<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#properties">Properties</a></span><ul>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/format">format</a></span></li>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/unformattedText">unformattedText</a></span></li>
</ul></li>
<li role="treeitem" class="children"><span class="disclosure"></span><span class="sectionName"><a href="#instance_methods">Instance Methods</a></span><ul>
<li><span class="nodisclosure"></span><span class="sectionName"><a href="#//api/name/string:withNumberFormat:">string:withNumberFormat:</a></span></li>
</ul></li>
</ul>
</nav>
<article>
<div id="contents" class="isShowingTOC" role="main">
<a title="REFormattedNumberField Class Reference" name="top"></a>
<div class="main-navigation navigation-top">
<ul>
<li><a href="../index.html">Index</a></li>
<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
</div>
<div id="header">
<div class="section-header">
<h1 class="title title-header">REFormattedNumberField Class Reference</h1>
</div>
</div>
<div id="container">
<div class="section section-specification"><table cellspacing="0"><tbody>
<tr>
<td class="specification-title">Inherits from</td>
<td class="specification-value">UITextField</td>
</tr><tr>
<td class="specification-title">Declared in</td>
<td class="specification-value">REFormattedNumberField.h</td>
</tr>
</tbody></table></div>
<div class="section section-tasks">
<a title="Tasks" name="tasks"></a>
<h2 class="subtitle subtitle-tasks">Tasks</h2>
<ul class="task-list">
<li>
<span class="tooltip">
<code><a href="#//api/name/format">&nbsp;&nbsp;format</a></code>
</span>
<span class="task-item-suffix">property</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/unformattedText">&nbsp;&nbsp;unformattedText</a></code>
</span>
<span class="task-item-suffix">property</span>
</li><li>
<span class="tooltip">
<code><a href="#//api/name/string:withNumberFormat:">&ndash;&nbsp;string:withNumberFormat:</a></code>
</span>
</li>
</ul>
</div>
<div class="section section-methods">
<a title="Properties" name="properties"></a>
<h2 class="subtitle subtitle-methods">Properties</h2>
<div class="section-method">
<a name="//api/name/format" title="format"></a>
<h3 class="subsubtitle method-title">format</h3>
<div class="method-subsection method-declaration"><code>@property (copy, readwrite, nonatomic) NSString *format</code></div>
</div>
<div class="section-method">
<a name="//api/name/unformattedText" title="unformattedText"></a>
<h3 class="subsubtitle method-title">unformattedText</h3>
<div class="method-subsection method-declaration"><code>@property (copy, readonly, nonatomic) NSString *unformattedText</code></div>
</div>
</div>
<div class="section section-methods">
<a title="Instance Methods" name="instance_methods"></a>
<h2 class="subtitle subtitle-methods">Instance Methods</h2>
<div class="section-method">
<a name="//api/name/string:withNumberFormat:" title="string:withNumberFormat:"></a>
<h3 class="subsubtitle method-title">string:withNumberFormat:</h3>
<div class="method-subsection method-declaration"><code>- (NSString *)string:(NSString *)<em>string</em> withNumberFormat:(NSString *)<em>format</em></code></div>
</div>
</div>
</div>
<div class="main-navigation navigation-bottom">
<ul>
<li><a href="../index.html">Index</a></li>
<li><a href="../hierarchy.html">Hierarchy</a></li>
</ul>
</div>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 Roman Efimov. All rights reserved. (Last updated: 2013-04-04)</span><br />
<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.1 (build 840)</a>.</span></p>
</div>
</div>
</div>
</article>
<script type="text/javascript">
function jumpToChange()
{
window.location.hash = this.options[this.selectedIndex].value;
}
function toggleTOC()
{
var contents = document.getElementById('contents');
var tocContainer = document.getElementById('tocContainer');
if (this.getAttribute('class') == 'open')
{
this.setAttribute('class', '');
contents.setAttribute('class', '');
tocContainer.setAttribute('class', '');
window.name = "hideTOC";
}
else
{
this.setAttribute('class', 'open');
contents.setAttribute('class', 'isShowingTOC');
tocContainer.setAttribute('class', 'isShowingTOC');
window.name = "";
}
return false;
}
function toggleTOCEntryChildren(e)
{
e.stopPropagation();
var currentClass = this.getAttribute('class');
if (currentClass == 'children') {
this.setAttribute('class', 'children open');
}
else if (currentClass == 'children open') {
this.setAttribute('class', 'children');
}
return false;
}
function tocEntryClick(e)
{
e.stopPropagation();
return true;
}
function init()
{
var selectElement = document.getElementById('jumpTo');
selectElement.addEventListener('change', jumpToChange, false);
var tocButton = document.getElementById('table_of_contents');
tocButton.addEventListener('click', toggleTOC, false);
var taskTreeItem = document.getElementById('task_treeitem');
if (taskTreeItem.getElementsByTagName('li').length > 0)
{
taskTreeItem.setAttribute('class', 'children');
taskTreeItem.firstChild.setAttribute('class', 'disclosure');
}
var tocList = document.getElementById('toc');
var tocEntries = tocList.getElementsByTagName('li');
for (var i = 0; i < tocEntries.length; i++) {
tocEntries[i].addEventListener('click', toggleTOCEntryChildren, false);
}
var tocLinks = tocList.getElementsByTagName('a');
for (var i = 0; i < tocLinks.length; i++) {
tocLinks[i].addEventListener('click', tocEntryClick, false);
}
if (window.name == "hideTOC") {
toggleTOC.call(tocButton);
}
}
window.onload = init;
// If showing in Xcode, hide the TOC and Header
if (navigator.userAgent.match(/xcode/i)) {
document.getElementById("contents").className = "hideInXcode"
document.getElementById("tocContainer").className = "hideInXcode"
document.getElementById("top_header").className = "hideInXcode"
}
</script>
</body>
</html>

View File

@@ -0,0 +1,584 @@
body {
font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
font-size: 13px;
}
code {
font-family: Courier, Consolas, monospace;
font-size: 13px;
color: #666;
}
pre {
font-family: Courier, Consolas, monospace;
font-size: 13px;
line-height: 18px;
tab-interval: 0.5em;
border: 1px solid #C7CFD5;
background-color: #F1F5F9;
color: #666;
padding: 0.3em 1em;
}
ul {
list-style-type: square;
}
li {
margin-bottom: 10px;
}
a, a code {
text-decoration: none;
color: #36C;
}
a:hover, a:hover code {
text-decoration: underline;
color: #36C;
}
h2 {
border-bottom: 1px solid #8391A8;
color: #3C4C6C;
font-size: 187%;
font-weight: normal;
margin-top: 1.75em;
padding-bottom: 2px;
}
table {
margin-bottom: 4em;
border-collapse:collapse;
vertical-align: middle;
}
td {
border: 1px solid #9BB3CD;
padding: .667em;
font-size: 100%;
}
th {
border: 1px solid #9BB3CD;
padding: .3em .667em .3em .667em;
background: #93A5BB;
font-size: 103%;
font-weight: bold;
color: white;
text-align: left;
}
/* @group Common page elements */
#top_header {
height: 91px;
left: 0;
min-width: 598px;
position: absolute;
right: 0;
top: 0;
z-index: 900;
}
#footer {
clear: both;
padding-top: 20px;
text-align: center;
}
#contents, #overview_contents {
-webkit-overflow-scrolling: touch;
border-top: 1px solid #2B334F;
position: absolute;
top: 91px;
left: 0;
right: 0;
bottom: 0;
overflow-x: hidden;
overflow-y: auto;
padding-left: 2em;
padding-right: 2em;
padding-top: 1em;
min-width: 550px;
}
#contents.isShowingTOC {
left: 230px;
min-width: 320px;
}
.copyright {
font-size: 12px;
}
.generator {
font-size: 11px;
}
.main-navigation ul li {
display: inline;
margin-left: 15px;
list-style: none;
}
.navigation-top {
clear: both;
float: right;
}
.navigation-bottom {
clear: both;
float: right;
margin-top: 20px;
margin-bottom: -10px;
}
.open > .disclosure {
background-image: url("../img/disclosure_open.png");
}
.disclosure {
background: url("../img/disclosure.png") no-repeat scroll 0 0;
}
.disclosure, .nodisclosure {
display: inline-block;
height: 8px;
margin-right: 5px;
position: relative;
width: 9px;
}
/* @end */
/* @group Header */
#top_header #library {
background: url("../img/library_background.png") repeat-x 0 0 #485E78;
background-color: #ccc;
height: 35px;
font-size: 115%;
}
#top_header #library #libraryTitle {
color: #FFFFFF;
margin-left: 15px;
text-shadow: 0 -1px 0 #485E78;
top: 8px;
position: absolute;
}
#top_header #library #developerHome {
color: #92979E;
right: 15px;
top: 8px;
position: absolute;
}
#top_header #library a:hover {
text-decoration: none;
}
#top_header #title {
background: url("../img/title_background.png") repeat-x 0 0 #8A98A9;
border-bottom: 1px solid #B6B6B6;
height: 25px;
overflow: hidden;
}
#top_header h1 {
font-size: 115%;
font-weight: normal;
margin: 0;
padding: 3px 0 2px;
text-align: center;
text-shadow: 0 1px 0 #D5D5D5;
white-space: nowrap;
}
#headerButtons {
background-color: #D8D8D8;
background-image: url("../img/button_bar_background.png");
border-bottom: 1px solid #EDEDED;
border-top: 1px solid #2B334F;
font-size: 8pt;
height: 28px;
left: 0;
list-style: none outside none;
margin: 0;
overflow: hidden;
padding: 0;
position: absolute;
right: 0;
top: 61px;
}
#headerButtons li {
background-repeat: no-repeat;
display: inline;
margin-top: 0;
margin-bottom: 0;
padding: 0;
}
#toc_button button {
border-color: #ACACAC;
border-style: none solid none none;
border-width: 0 1px 0 0;
height: 28px;
margin: 0;
padding-left: 30px;
text-align: left;
width: 230px;
}
li#jumpto_button {
left: 230px;
margin-left: 0;
position: absolute;
}
li#jumpto_button select {
height: 22px;
margin: 5px 2px 0 10px;
max-width: 300px;
}
/* @end */
/* @group Table of contents */
#tocContainer.isShowingTOC {
border-right: 1px solid #ACACAC;
display: block;
overflow-x: hidden;
overflow-y: auto;
padding: 0;
}
#tocContainer {
background-color: #E4EBF7;
border-top: 1px solid #2B334F;
bottom: 0;
display: none;
left: 0;
overflow: hidden;
position: absolute;
top: 91px;
width: 229px;
}
#tocContainer > ul#toc {
font-size: 11px;
margin: 0;
padding: 12px 0 18px;
width: 209px;
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
}
#tocContainer > ul#toc > li {
margin: 0;
padding: 0 0 7px 30px;
text-indent: -15px;
}
#tocContainer > ul#toc > li > .sectionName a {
color: #000000;
font-weight: bold;
}
#tocContainer > ul#toc > li > .sectionName a:hover {
text-decoration: none;
}
#tocContainer > ul#toc li.children > ul {
display: none;
height: 0;
}
#tocContainer > ul#toc > li > ul {
margin: 0;
padding: 0;
}
#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li {
margin-left: 0;
margin-bottom: 0;
padding-left: 15px;
}
#tocContainer > ul#toc > li ul {
list-style: none;
margin-right: 0;
padding-right: 0;
}
#tocContainer > ul#toc li.children.open > ul {
display: block;
height: auto;
margin-left: -15px;
padding-left: 0;
}
#tocContainer > ul#toc > li > ul, ul#toc > li > ul > li {
margin-left: 0;
padding-left: 15px;
}
#tocContainer li ul li {
margin-top: 0.583em;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#tocContainer li ul li span.sectionName {
white-space: normal;
}
#tocContainer > ul#toc > li > ul > li > .sectionName a {
font-weight: bold;
}
#tocContainer > ul#toc > li > ul a {
color: #4F4F4F;
}
/* @end */
/* @group Index formatting */
.index-title {
font-size: 13px;
font-weight: normal;
}
.index-column {
float: left;
width: 30%;
min-width: 200px;
font-size: 11px;
}
.index-column ul {
margin: 8px 0 0 0;
padding: 0;
list-style: none;
}
.index-column ul li {
margin: 0 0 3px 0;
padding: 0;
}
.hierarchy-column {
min-width: 400px;
}
.hierarchy-column ul {
margin: 3px 0 0 15px;
}
.hierarchy-column ul li {
list-style-type: square;
}
/* @end */
/* @group Common formatting elements */
.title {
font-weight: normal;
font-size: 215%;
margin-top:0;
}
.subtitle {
font-weight: normal;
font-size: 180%;
color: #3C4C6C;
border-bottom: 1px solid #5088C5;
}
.subsubtitle {
font-weight: normal;
font-size: 145%;
height: 0.7em;
}
.note {
border: 1px solid #5088C5;
background-color: white;
margin: 1.667em 0 1.75em 0;
padding: 0 .667em .083em .750em;
}
.warning {
border: 1px solid #5088C5;
background-color: #F0F3F7;
margin-bottom: 0.5em;
padding: 0.3em 0.8em;
}
.bug {
border: 1px solid #000;
background-color: #ffffcc;
margin-bottom: 0.5em;
padding: 0.3em 0.8em;
}
.deprecated {
color: #F60425;
}
/* @end */
/* @group Common layout */
.section {
margin-top: 3em;
}
/* @end */
/* @group Object specification section */
.section-specification {
margin-left: 2.5em;
margin-right: 2.5em;
font-size: 12px;
}
.section-specification table {
margin-bottom: 0em;
border-top: 1px solid #d6e0e5;
}
.section-specification td {
vertical-align: top;
border-bottom: 1px solid #d6e0e5;
border-left-width: 0px;
border-right-width: 0px;
border-top-width: 0px;
padding: .6em;
}
.section-specification .specification-title {
font-weight: bold;
}
/* @end */
/* @group Tasks section */
.task-list {
list-style-type: none;
padding-left: 0px;
}
.task-list li {
margin-bottom: 3px;
}
.task-item-suffix {
color: #996;
font-size: 12px;
font-style: italic;
margin-left: 0.5em;
}
span.tooltip span.tooltip {
font-size: 1.0em;
display: none;
padding: 0.3em;
border: 1px solid #aaa;
background-color: #fdfec8;
color: #000;
text-align: left;
}
span.tooltip:hover span.tooltip {
display: block;
position: absolute;
margin-left: 2em;
}
/* @end */
/* @group Method section */
.section-method {
margin-top: 2.3em;
}
.method-title {
margin-bottom: 1.5em;
}
.method-subtitle {
margin-top: 0.7em;
margin-bottom: 0.2em;
}
.method-subsection p {
margin-top: 0.4em;
margin-bottom: 0.8em;
}
.method-declaration {
margin-top:1.182em;
margin-bottom:.909em;
}
.method-declaration code {
font:14px Courier, Consolas, monospace;
color:#000;
}
.declaration {
color: #000;
}
.argument-def {
margin-top: 0.3em;
margin-bottom: 0.3em;
}
.argument-def dd {
margin-left: 1.25em;
}
.see-also-section ul {
list-style-type: none;
padding-left: 0px;
margin-top: 0;
}
.see-also-section li {
margin-bottom: 3px;
}
.declared-in-ref {
color: #666;
}
#tocContainer.hideInXcode {
display: none;
border: 0px solid black;
}
#top_header.hideInXcode {
display: none;
}
#contents.hideInXcode {
border: 0px solid black;
top: 0px;
left: 0px;
}
/* @end */

View File

@@ -0,0 +1,22 @@
header {
display: none;
}
div.main-navigation, div.navigation-top {
display: none;
}
div#overview_contents, div#contents.isShowingTOC, div#contents {
overflow: visible;
position: relative;
top: 0px;
border: none;
left: 0;
}
#tocContainer.isShowingTOC {
display: none;
}
nav {
display: none;
}

View File

@@ -0,0 +1,70 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>REFormattedNumberField 1.0.3 Hierarchy</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" media="all" />
<link rel="stylesheet" type="text/css" media="print" href="css/stylesPrint.css" />
<meta name="generator" content="appledoc 2.1 (build 840)" />
</head>
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="index.html">REFormattedNumberField 1.0.3 </a></h1>
<a id="developerHome" href="index.html">Roman Efimov</a>
</div>
<div id="title" role="banner">
<h1 class="hideInXcode">REFormattedNumberField 1.0.3 Hierarchy</h1>
</div>
<ul id="headerButtons" role="toolbar"></ul>
</header>
<article>
<div id="overview_contents" role="main">
<div class="main-navigation navigation-top">
<a href="index.html">Previous</a>
</div>
<div id="header">
<div class="section-header">
<h1 class="title title-header">REFormattedNumberField 1.0.3 Hierarchy</h1>
</div>
</div>
<div id="container">
<div class="index-column hierarchy-column">
<h2 class="index-title">Class Hierarchy</h2>
<ul>
<li>UITextField
<ul>
<li><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div class="main-navigation navigation-bottom">
<a href="index.html">Previous</a>
</div>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 Roman Efimov. All rights reserved. (Last updated: 2013-04-04)</span><br />
<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.1 (build 840)</a>.</span></p>
</div>
</div>
</div>
</article>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 B

View File

@@ -0,0 +1,184 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>REFormattedNumberField 1.0.3 Reference</title>
<link rel="stylesheet" type="text/css" href="css/styles.css" media="all" />
<link rel="stylesheet" type="text/css" media="print" href="css/stylesPrint.css" />
<meta name="generator" content="appledoc 2.1 (build 840)" />
</head>
<body>
<header id="top_header">
<div id="library" class="hideInXcode">
<h1><a id="libraryTitle" href="index.html">REFormattedNumberField 1.0.3 </a></h1>
<a id="developerHome" href="index.html">Roman Efimov</a>
</div>
<div id="title" role="banner">
<h1 class="hideInXcode">REFormattedNumberField 1.0.3 Reference</h1>
</div>
<ul id="headerButtons" role="toolbar"></ul>
</header>
<article>
<div id="overview_contents" role="main">
<div class="main-navigation navigation-top">
<a href="hierarchy.html">Next</a>
</div>
<div id="header">
<div class="section-header">
<h1 class="title title-header">REFormattedNumberField 1.0.3 Reference</h1>
</div>
</div>
<div id="container">
<div class="section section-overview index-overview">
<h1><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a></h1>
<p>UITextField subclass that allows numeric input in a predefined format.</p>
<p>!<a href="https://github.com/romaonthego/REFormattedNumberField/raw/master/Screenshot.png" title="REFormattedNumberField Screenshot">Screenshot of REFormattedNumberField</a></p>
<h2>Requirements</h2>
<ul>
<li>Xcode 4.5 or higher</li>
<li>Apple LLVM compiler</li>
<li>iOS 5.0 or higher</li>
<li>ARC</li>
</ul>
<h2>Demo</h2>
<p>Build and run the <code>REFormattedNumberFieldExample</code> project in Xcode to see <a href="Classes/REFormattedNumberField.html"><code>REFormattedNumberField</code></a> in action.</p>
<h2>Installation</h2>
<h3>CocoaPods</h3>
<p>The recommended approach for installating <a href="Classes/REFormattedNumberField.html"><code>REFormattedNumberField</code></a> is via the <a href="http://cocoapods.org/">CocoaPods</a> package manager, as it provides flexible dependency management and dead simple installation.
For best results, it is recommended that you install via CocoaPods >= <strong>0.15.2</strong> using Git >= <strong>1.8.0</strong> installed via Homebrew.</p>
<p>Install CocoaPods if not already available:</p>
<p><code>bash
$ [sudo] gem install cocoapods
$ pod setup
</code></p>
<p>Change to the directory of your Xcode project:</p>
<p><code>bash
$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
</code></p>
<p>Edit your Podfile and add <a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a>:</p>
<p><code>bash
platform :ios, '5.0'
pod 'REFormattedNumberField', '~&gt; 1.0.3'
</code></p>
<p>Install into your Xcode project:</p>
<p><code>bash
$ pod install
</code></p>
<p>Open your project in Xcode from the .xcworkspace file (not the usual project file)</p>
<p><code>bash
$ open MyProject.xcworkspace
</code></p>
<p>Please note that if your installation fails, it may be because you are installing with a version of Git lower than CocoaPods is expecting. Please ensure that you are running Git >= <strong>1.8.0</strong> by executing <code>git --version</code>. You can get a full picture of the installation details by executing <code>pod install --verbose</code>.</p>
<h3>Manual Install</h3>
<p>All you need to do is drop <a href="Classes/REFormattedNumberField.html"><code>REFormattedNumberField</code></a> files into your project, and add <code>#include "</code>REFormattedNumberField<code>.h"</code> to the top of classes that will use it.</p>
<h2>Example Usage</h2>
<p>Pretty much all you need is just to specify <code>format</code> NSString, where <code>X</code> are digits and all other characters are separators.</p>
<p>``` objective-c
<a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *phoneField1 = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 20, 280, 30)];
phoneField1.format = @&ldquo;(XXX) XXX-XXXX&rdquo;;
[self.view addSubview:phoneField1];</p>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *phoneField2 = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 80, 280, 30)];
phoneField2.format = @&ldquo;+X (XXX) XXX-XXXX&rdquo;;
[self.view addSubview:phoneField2];</p>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *ccField = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 140, 280, 30)];
ccField.format = @&ldquo;XXXX XXXX XXXX XXXX&rdquo;;
[self.view addSubview:ccField];</p>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> *ccExpirationField = [[REFormattedNumberField alloc] initWithFrame:CGRectMake(20, 200, 280, 30)];
ccExpirationField.format = @&ldquo;XX/XX&rdquo;;
[self.view addSubview:ccExpirationField];
```</p>
<h2>Contact</h2>
<p>Roman Efimov</p>
<ul>
<li><a href="https://github.com/romaonthego">https://github.com/romaonthego</a></li>
<li><a href="https://twitter.com/romaonthego">https://twitter.com/romaonthego</a></li>
<li>romefimov@gmail.com</li>
</ul>
<h2>License</h2>
<p><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a> is available under the MIT license.</p>
<p>Copyright © 2013 Roman Efimov.</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the &ldquo;Software&rdquo;), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED &ldquo;AS IS&rdquo;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
</div>
<div class="index-column">
<h2 class="index-title">Class References</h2>
<ul>
<li><a href="Classes/REFormattedNumberField.html">REFormattedNumberField</a></li>
</ul>
</div>
</div>
<div class="main-navigation navigation-bottom">
<a href="hierarchy.html">Next</a>
</div>
<div id="footer">
<hr />
<div class="footer-copyright">
<p><span class="copyright">&copy; 2013 Roman Efimov. All rights reserved. (Last updated: 2013-04-04)</span><br />
<span class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.1 (build 840)</a>.</span></p>
</div>
</div>
</div>
</article>
</body>
</html>

View File

@@ -0,0 +1,15 @@
PODS:
- REFormattedNumberField (1.0.3)
- SDWebImage (3.2):
- SDWebImage/MapKit
- SDWebImage/MapKit (3.2)
DEPENDENCIES:
- REFormattedNumberField (~> 1.0.3)
- SDWebImage
SPEC CHECKSUMS:
REFormattedNumberField: 8aabb3be9ce2dd53aafd8f4783cf43413ad288ef
SDWebImage: 8082fe8d658ccafaaecd9e5ecda12ed01f09ba9c
COCOAPODS: 0.17.2

View File

@@ -0,0 +1,4 @@
@interface PodsDummy_Pods : NSObject
@end
@implementation PodsDummy_Pods
@end

View File

@@ -0,0 +1,6 @@
// WARNING: This feature of CocoaPods is present for discussion purposes and might be discontinued or changed in future
#define __COCOA_PODS
#define __POD_REFormattedNumberField
#define __POD_SDWebImage
#define __POD_SDWebImage_MapKit

View File

@@ -1,3 +1,7 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#endif
#import "Pods-header.h"

View File

@@ -4,12 +4,12 @@ install_resource()
{
case $1 in
*.storyboard)
echo "ibtool --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
ibtool --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .storyboard`.storyboardc" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
;;
*.xib)
echo "ibtool --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
ibtool --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
echo "ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib ${PODS_ROOT}/$1 --sdk ${SDKROOT}"
ibtool --reference-external-strings-file --errors --warnings --notices --output-format human-readable-text --compile "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$1\" .xib`.nib" "${PODS_ROOT}/$1" --sdk "${SDKROOT}"
;;
*.framework)
echo "rsync -rp ${PODS_ROOT}/$1 ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"

File diff suppressed because it is too large Load Diff

View File

@@ -16,9 +16,10 @@ Build and run the `REFormattedNumberFieldExample` project in Xcode to see `REFor
## Installation
### via CocoaPods
### CocoaPods
The recommended approach for installating REFormattedNumberField is via the [CocoaPods](http://cocoapods.org/) package manager, as it provides flexible dependency management and dead simple installation.
The recommended approach for installating `REFormattedNumberField` is via the [CocoaPods](http://cocoapods.org/) package manager, as it provides flexible dependency management and dead simple installation.
For best results, it is recommended that you install via CocoaPods >= **0.15.2** using Git >= **1.8.0** installed via Homebrew.
Install CocoaPods if not already available:
@@ -27,12 +28,19 @@ $ [sudo] gem install cocoapods
$ pod setup
```
Change to the directory of your Xcode project:
``` bash
$ cd /path/to/MyProject
$ touch Podfile
$ edit Podfile
```
Edit your Podfile and add REFormattedNumberField:
``` bash
$ edit Podfile
platform :ios, '5.0'
pod 'REFormattedNumberField', '~> 1.0.2'
pod 'REFormattedNumberField', '~> 1.0.3'
```
Install into your Xcode project:
@@ -41,7 +49,15 @@ Install into your Xcode project:
$ pod install
```
### Simple Install
Open your project in Xcode from the .xcworkspace file (not the usual project file)
``` bash
$ open MyProject.xcworkspace
```
Please note that if your installation fails, it may be because you are installing with a version of Git lower than CocoaPods is expecting. Please ensure that you are running Git >= **1.8.0** by executing `git --version`. You can get a full picture of the installation details by executing `pod install --verbose`.
### Manual Install
All you need to do is drop `REFormattedNumberField` files into your project, and add `#include "REFormattedNumberField.h"` to the top of classes that will use it.

View File

@@ -1,17 +0,0 @@
Pod::Spec.new do |s|
s.name = 'REFormattedNumberField'
s.version = '1.0.2'
s.authors = { 'Roman Efimov' => 'romefimov@gmail.com' }
s.homepage = 'https://github.com/romaonthego/REFormattedNumberField'
s.summary = 'UITextField subclass that allows number input in a predefined format.'
s.source = { :git => 'https://github.com/romaonthego/REFormattedNumberField.git',
:tag => '1.0.2' }
s.license = { :type => "MIT", :file => "LICENSE" }
s.platform = :ios, '5.0'
s.requires_arc = true
s.source_files = 'REFormattedNumberField'
s.public_header_files = 'REFormattedNumberField/*.h'
s.ios.deployment_target = '5.0'
end

View File

@@ -30,4 +30,6 @@
@property (copy, readwrite, nonatomic) NSString *format;
@property (copy, readonly, nonatomic) NSString *unformattedText;
- (NSString *)string:(NSString *)string withNumberFormat:(NSString *)format;
@end