{ "id": "60770", "key": "TIMOB-138", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2011-04-15T02:24:13.000+0000", "created": "2011-04-15T02:24:12.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "rseagraves", "key": "rseagraves", "displayName": "Reggie Seagraves", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-09T21:09:40.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "{html}

I came across something else i use in my obj-c apps that I cant\nseem to find any documentation about doing with titanium. Input\nfields inside an alert. I use it for a account register dialog\n(much easier and imo smoother progression).

\n

here an example of how its done in objective c

\n
\nUIAlertView *alert = [[UIAlertView alloc] initWithTitle: @\"Register Account\" message: @\"\" delegate: self cancelButtonTitle: @\"Nevermind\" otherButtonTitles: @\"Register!\", nil];\n[alert addTextFieldWithValue: @\"\" label: @\"Email\"];\n[alert addTextFieldWithValue: @\"\" label: @\"Password\"];\n[alert addTextFieldWithValue: @\"\" label: @\"Password Confirm\"];\n\nemailField = [alert textFieldAtIndex:0];\nemailField.keyboardType = UIKeyboardTypeAlphabet;\nemailField.keyboardAppearance = UIKeyboardAppearanceAlert;\nemailField.autocorrectionType = UITextAutocorrectionTypeNo;\nemailField.autocapitalizationType = UITextAutocapitalizationTypeNone;\n    \npasswordField = [alert textFieldAtIndex:1];\npasswordField.clearButtonMode = UITextFieldViewModeWhileEditing;\npasswordField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;\npasswordField.keyboardAppearance = UIKeyboardAppearanceAlert;\npasswordField.autocorrectionType = UITextAutocorrectionTypeNo;\npasswordField.secureTextEntry = YES;\n\npasswordField2 = [alert textFieldAtIndex:2];\npasswordField2.clearButtonMode = UITextFieldViewModeWhileEditing;\npasswordField2.keyboardType = UIKeyboardTypeNumbersAndPunctuation;\npasswordField2.keyboardAppearance = UIKeyboardAppearanceAlert;\npasswordField2.autocorrectionType = UITextAutocorrectionTypeNo;\npasswordField2.secureTextEntry = YES;\n\n[alert show];\n[alert release];\n
\n

any chance we might see this in the future as well?

{html}", "attachment": [ { "id": "17839", "filename": "register.jpg", "author": { "name": "kevinholland", "key": "kevinholland", "displayName": "Kevin Holland", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:24:12.000+0000", "size": 51251, "mimeType": "image/jpeg" } ], "flagged": false, "summary": "inputs inside alertdialogs", "creator": { "name": "kevinholland", "key": "kevinholland", "displayName": "Kevin Holland", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "kevinholland", "key": "kevinholland", "displayName": "Kevin Holland", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "122825", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Part of the problem is that the -[UIAlertView\naddTextFieldWithValue:label:] and -[UIAlert textFieldAtIndex:] are\ncurrently undocumented/private APIs, and the use of it could result\nin App Store rejections. There's another trick that's just as hairy\nwhich involves blindly stabbing UITextFields into the view that is\nUIAlertView.

{html}", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:24:12.000+0000", "updated": "2011-04-15T02:24:12.000+0000" }, { "id": "122826", "author": { "name": "kevinholland", "key": "kevinholland", "displayName": "Kevin Holland", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

That's unfortunate. I've seen apps on the appstore that employ\nthis method, but you know how crappy apples policies are... they\ncould get pulled tomorrow, or never. :(

{html}", "updateAuthor": { "name": "kevinholland", "key": "kevinholland", "displayName": "Kevin Holland", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:24:12.000+0000", "updated": "2011-04-15T02:24:12.000+0000" }, { "id": "122827", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

Tell me about it. My 'favorite' is when you release 2.0, which\nhas x new feature and gets approved, then you do an important\nbugfix to 2.0.1, and it's rejected for the x which was in 2.0.\nGiven the trouble Apple gave PhoneGap early on, Titanium was\ndesigned to stay as safely inside the lines as possible.

\n

The Apple guidelines themselves say, 'don't put text fields in\nalerts, use modal fullscreen pages for it'. The fact that Apple\nthemselves do it (Safari and app store) and have such a nice\ninterface for it makes this even more annoying.

\n

In the mean time, the solution is to create a window with a web\nview with the text fields and buttons, and have\nwindow.open({modal:true}) so the window is brought up from the\nbottom. It's not as pretty, but it's kosher and it's here now.

\n

--Edit: My bad. I can't recall, but I think the {modal:true}\nfunctionality is coming out in 0.7.

{html}", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:24:13.000+0000", "updated": "2011-04-15T02:24:13.000+0000" }, { "id": "122828", "author": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

No longer holding breath for Apple to share their toys with\nothers. Until they do, we might as well close this one. Since it\nwas never resolved, it'll have to be marked invalid.

{html}", "updateAuthor": { "name": "blainhamon", "key": "blainhamon", "displayName": "Blain Hamon", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:24:13.000+0000", "updated": "2011-04-15T02:24:13.000+0000" }, { "id": "122829", "author": { "name": "sj101", "key": "sj101", "displayName": "Sj101", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

This is really something I been wishing for a long long time.\nAny way someone can make this thing as a module so its optional? I\nwant to test it with an app and see if it gets rejected!

{html}", "updateAuthor": { "name": "sj101", "key": "sj101", "displayName": "Sj101", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:24:13.000+0000", "updated": "2011-04-15T02:24:13.000+0000" }, { "id": "122830", "author": { "name": "sj101", "key": "sj101", "displayName": "Sj101", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{html}

This is really something I been wishing for a long long time.\nAny way someone can make this thing as a module so its optional? I\nwant to test it with an app and see if it gets rejected!

{html}", "updateAuthor": { "name": "sj101", "key": "sj101", "displayName": "Sj101", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2011-04-15T02:24:13.000+0000", "updated": "2011-04-15T02:24:13.000+0000" }, { "id": "410505", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as invalid.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-09T21:09:40.000+0000", "updated": "2017-03-09T21:09:40.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }