Repeating instances help
In a repeating subform I have a DDL with Item A, B and TextFieldA and TextFieldB(Hidden).
In case of item B: TextFieldA become Hidden and TextFieldB become visible.
It's work when I select ItemB 9TextFieldA become Hidden and TextFieldB become visible for the first(default instance).
My problem is when I click on the button to create a new instances TextFieldA is visible on all instances
and TextFieldB hidden !
What I have to do in order on all instances:
if ItemA select then: TextFieldA become Visible and TextFieldB become hidden.
if ItemB select then: TextFieldA become Hidden and TextFieldB become visible.
Thanks
Hi,
Adding a new subform should use the presence values as set in the form template, so is it possible you have some code in an initialize event that is causing some problems?
Here is a sample that might help.
https://workspaces.acrobat.com/?d=MEIyiCDLmcgW9ZYwlqmpKg
Bruce
Similar Messages
-
I updated my iPhone 4 software now it's turninng off and off and keeps repeating . HELP!
updated my iPhone 4 software now it's turninng off and off and keeps repeating . HELP!
Basic troubleshooting from the User's Guide is reset, restart, restore (first from backup then as new). Try each of these in order until the issue is resolved.
-
This problem has only appeared in the past few days before that I had nio problems with itunes. Firstly I discovered that I could only open Itunes once after reboot - thereafter it would not reopen until I reboot again. I have spent considerable hours yesterday talking to the Apple help by phone and tried all there suggestions including of course reinstalling itunes amongst other things. Eventually I thought the problem had been solved when I discovered that I could suddenly open Itunes repeatedly without rebooting. After a short time I then discovered that the reason it was working agai was that I had rebooted with the internet disconnected and itunes would open repeatedly as normal provide I left the internet disconnected. When I reconnect to internet the problem resurfaces. HELP
For those still wondering how to install ios 6.1 on 5th gen iPod, you need to download it off of apples official website and then shift click restore from backup and choose the downloaded ios 6.1
apples one year warrant covers any hardware problems like these right? -
I've had my ipod nano for almost a year. It has worked fine. All of a sudden it has started to repeat. I've tried everything. Help!
It's pretty easy to accidentally set the Nano to repeat. Have a look at the manual (download the manual here) on page 21.
-
I have a spry region with a select list like so :
<div spry:region="dsPhones">
<select name="select" spry:repeatchildren="dsPhones"
spry:choose="choose"
onchange="dsPhones.setCurrentRowNumber(this.selectedIndex);" >
<option spry:when="{ds_RowNumber} ==
{ds_CurrentRowNumber}" selected="selected">{name}</option>
<option spry:default="default">{name}</option>
</select>
</div>
The select list works fine until...
I have another dataset on the page that pulls the phone id
out of a different table. I am trying to get the select list to
select the phone id from the other dataset on the page and display
the name from dsPhones… I can’t figure this out out. I
tried to make the select list dynamic in the properties instpector
but it gave me this below and doenst work:
<div spry:region="dsPhones dsInfo">
<select name="select" spry:repeatchildren="dsPhones"
spry:choose="choose"
onchange="dsPhones.setCurrentRowNumber(this.selectedIndex);EST();"
>
<option spry:when="{ds_RowNumber} ==
{ds_CurrentRowNumber}" selected="selected" value="" <%If (Not
isNull("{dsInfo::idphone}")) Then If ("" =
CStr("{dsInfo::idphone}")) Then
Response.Write("selected=""selected""") :
Response.Write("")%>>{name}</option>
<option spry:default="default" value="" <%If (Not
isNull("{dsInfo::idphone}")) Then If ("" =
CStr("{dsInfo::idphone}")) Then
Response.Write("selected=""selected""") :
Response.Write("")%>>{name}</option>
</select>
</div>
can someone help? I can try to clarify better with an example
if needed.Hello,
you want to check whether the user entered same value twice in the combo-editor, dont you? Then have a look:import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.JTextComponent;
public class ComboTest extends JFrame implements ActionListener
private JComboBox combo = null;
public ComboTest()
setDefaultCloseOperation(EXIT_ON_CLOSE);
initCombo();
pack();
setLocationRelativeTo(null);
setVisible(true);
private void initCombo()
combo=new JComboBox();
combo.setEditable(true);
combo.addActionListener(this);
getContentPane().add(combo);
public void actionPerformed(ActionEvent e)
JTextField editorField = (JTextField) combo.getEditor().getEditorComponent();
String input = editorField.getText();
if(input.equals(""))
return;
int count = combo.getItemCount();
boolean repeat = false;
for(int i=0; i<count; i++)
if(input.equals(combo.getItemAt(i)))
repeat = true;
break;
if(repeat)
JOptionPane.showMessageDialog(combo,"Do not enter same value twice!");
else
combo.addItem(input);
editorField.setText("");
public static void main(String[]args)
new ComboTest();
}regards,
Tim -
Firefox crashes repeatedly. please helpe
Firefox crashes repeatedly
Crash ID: bp-0d558271-ea4d-42ca-b561-528c02131003'''Try Firefox Safe Mode''' to see if the problem goes away. Safe Mode is a troubleshooting mode, which disables most add-ons.
''(If you're not using it, switch to the Default theme.)''
* On Windows you can open Firefox 4.0+ in Safe Mode by holding the '''Shift''' key when you open the Firefox desktop or Start menu shortcut.
* On Mac you can open Firefox 4.0+ in Safe Mode by holding the '''option''' key while starting Firefox.
* On Linux you can open Firefox 4.0+ in Safe Mode by quitting Firefox and then going to your Terminal and running: firefox -safe-mode (you may need to specify the Firefox installation path e.g. /usr/lib/firefox)
* Or open the Help menu and click on the '''Restart with Add-ons Disabled...''' menu item while Firefox is running.
[[Image:FirefoxSafeMode|width=520]]
''Once you get the pop-up, just select "'Start in Safe Mode"''
[[Image:Safe Mode Fx 15 - Win]]
'''''If the issue is not present in Firefox Safe Mode''''', your problem is probably caused by an extension, and you need to figure out which one. Please follow the [[Troubleshooting extensions and themes]] article for that.
''To exit the Firefox Safe Mode, just close Firefox and wait a few seconds before opening Firefox for normal use again.''
Please report back soon. -
I'm trying to create a document that has 4 seperate tables in that the user will enter information for various materials. I have created a button to add another row in each of the 4 tables using the following JavaScript code:
frmCredit4._Item.addInstance(1);
frmCredit5._Item.addInstance(1);
frmCredit6._Item.addInstance(1);
frmCredit7._Item.addInstance(1);
xfa.form.recalculate(true);
All of the works fine so far, but I need to have the first column repeat in each of the 4 tables, which is where I get stuck. I tried setting the binding to global, but that makes whatever was entered in the first row of the first table repeat in all of the other rows of all of the tables, which of course won't work because I need different data in each of the rows of the first column. Any suggestions?
Thanks,
MichaelYour requirement is tricky and very challenging (I like the stuff). Check the attachment here is what I have done.........
1. Set the Binding to Normal
2. Added FormCalc code to the "exit" event of the Table1:Column1:txtMaterialComp
Here is the script
var partLeft
var partRight
partLeft = Substr($.somExpression, 1, 69) //69 is the length of the characters before '5' in the SOMexpression of the field
partRight = Substr($.somExpression, 71, 200) //71 is the starting position for the right part and 200 is to get the chars till the end....or you can have 500
//xfa.host.messageBox(Concat(partLeft,5,partRight))
var transferTo5
transferTo5 = Concat(partLeft,5,partRight," = ", """", $.rawValue, """")
//xfa.host.messageBox(transferTo5)
eval(transferTo5)
This script will dynamically access the instance number and then sets the value in the specified relative field.
Hope you can take it from here and add additional script to populate rest of the tables as you need.
Good luck, -
Sidebar stuck at bottom of page with last repeatable section--help
I'm new to webpage creating. Here's my situation---I have a content section and then a sidebar on the right. The content section is repeatable. No matter what I do, the sidebar always aligns with the last repeatable section, meaning that it's often at the bottom of the page. The sidebar code looks like this---
<div id="sidebar">
<ul>
<h2>Primary Texts</h2>
<p><a href="primarytextsonline.html">Primary Texts Online</a></p>
<p><a href="manuscripts.html">Manuscript Resources</a></p>
</ul>
</div>
<!-- end #sidebar -->
In case it matters, the code right before this dealing with the repeatable content section is:
<!-- TemplateEndEditable --></div>
</div>
<div class="post">
<div class="entry">
<div class="entry-bgtop">
<div class="entry-bgbtm"></div>
</div>
</div>
</div>
<div class="post"> </div>
<div style="clear: both;"></div>
</div>
<!-- TemplateEndRepeat -->
All I want is for my sidebar to appear at the top, in line with the first chunk of text/content and stay there.Full style sheet:
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License
body {
margin: 0;
padding: 0;
background: #1B120B;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #787878;
h1, h2, h3 {
margin: 0;
padding: 10;
font-family: Georgia, "Times New Roman", Times, serif;
font-weight: normal;
color: #CCCCCC;
h1 {
font-size: 2em;
color: #CCCCCC;
h2 {
font-size: 1.8em;
padding-top: 0px;
padding-right: 0px;
padding-bottom: 0px;
padding-left: 0px;
h3 {
font-size: 1.6em;
p, ul, ol {
margin-top: 0;
line-height: 150%;
ul, ol {
a {
text-decoration: none;
color: #CCCCCC;
a:hover {
#wrapper {
margin: 0 auto;
padding: 0;
background: url(images/img05.jpg) repeat-x left top;
/* Header */
#header-wrapper {
#header {
width: 960px;
height: 100px;
margin: 0 auto;
background: url(images/img02.jpg) no-repeat left top;
/* Logo */
#logo {
float: left;
height: 240px;
margin: 0;
padding: 0px;
color: #FFFFFF;
#logo h1, #logo p {
margin: 0;
padding: 0;
#logo h1 {
float: left;
padding-left: 25px;
letter-spacing: -1px;
text-transform: lowercase;
font-size: 2.6em;
#logo p {
float: left;
margin: 0;
padding: 12px 0 0 10px;
font: normal 14px Georgia, "Times New Roman", Times, serif;
font-style: italic;
#logo a {
border: none;
background: none;
text-decoration: none;
color: #FFFFFF;
/* Search */
#search {
float: right;
width: 279px;
height: 110px;
padding: 0;
#search form {
height: 41px;
margin: 0;
padding: 10px 0 0 30px;
#search fieldset {
margin: 0;
padding: 0;
border: none;
#search-text {
width: 195px;
padding: 6px 10px;
border: 1px #4C4842 solid;
background: none;
text-transform: lowercase;
font: normal 11px Arial, Helvetica, sans-serif;
color: #808080;
#search-submit {
display: none;
/* Menu */
#menu {
width: 960px;
height: 40px;
margin: 0 auto;
padding: 0;
background: url(images/img03.jpg) repeat-x left top;
#menu ul {
margin: 0;
padding: 0px 0px 0px 25px;
list-style: none;
line-height: normal;
#menu li {
float: left;
#menu a {
display: block;
height: 18px;
margin-right: 3px;
padding: 12px 40px 0px 40px;
background: url(images/img06.jpg) no-repeat right 10px;
text-decoration: none;
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: normal;
color: #FFFFFF;
border: none;
#menu a:hover, #menu .current_page_item a {
#menu .current_page_item a {
padding-left: 0;
#menu a:hover {
text-decoration: underline;
/* Page */
#page {
width: 960px;
margin: 0 auto;
padding: 0;
background: url(images/img04.jpg) repeat-y left top;
#page-bgtop {
#page-bgbtm {
padding-top: 0px;
padding-right: 20px;
padding-bottom: 0px;
padding-left: 20px;
/* Content */
#content {
float: left;
width: 640px;
padding: 0;
.post {
.post .title {
height: 38px;
letter-spacing: -0.5px;
color: #181818;
padding-top: 10px;
padding-right: 0;
padding-bottom: 0;
padding-left: 20px;
.post .title a {
color: #181818;
border: none;
.post .meta {
margin-top: -10px;
padding-bottom: 0px;
padding-left: 20px;
text-align: left;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-style: italic;
.post .meta a {
.post .entry {
text-align: justify;
margin-bottom: 25px;
padding-top: 0px;
padding-right: 20px;
padding-bottom: 0px;
padding-left: 20px;
.links {
display: block;
width: 130px;
margin: 20px 0px;
padding: 5px;
background: #A03128;
border-left: 20px solid #1B120B;
text-align: center;
text-transform: uppercase;
font-size: 10px;
color: #FFFFFF;
/* Sidebar */
#sidebar {
float: right;
width: 250px;
padding: 10px 0px 0px 0px;
color: #787878;
#sidebar ul {
margin: 0;
padding: 0;
list-style: none;
#sidebar li {
margin: 0;
padding: 0;
#sidebar li ul {
margin: 0px 15px;
padding-bottom: 30px;
#sidebar li li {
line-height: 35px;
border-bottom: 1px dashed #D1D1D1;
padding-left: 15px;
#sidebar li li span {
display: block;
margin-top: -20px;
padding: 0;
font-size: 11px;
font-style: italic;
#sidebar h2 {
height: 38px;
padding: 12px 0 0 15px;
letter-spacing: -.5px;
color: #181818;
#sidebar p {
margin: 0 0px;
padding: 0px 20px 20px 20px;
text-align: justify;
#sidebar a {
border: none;
color: #B94E0E;
#sidebar a:hover {
text-decoration: underline;
/* Calendar */
#calendar {
#calendar_wrap {
padding: 20px;
#calendar table {
width: 100%;
#calendar tbody td {
text-align: center;
#calendar #next {
text-align: right;
/* Footer */
#footer-wrapper {
width: 100%;
background: #231202;
#footer {
width: 960px;
height: 100px;
margin: 0 auto;
padding: 0px 0 15px 0;
font-family: Arial, Helvetica, sans-serif;
#footer p {
margin: 0;
padding-top: 40px;
line-height: normal;
font-size: 9px;
text-transform: uppercase;
text-align: center;
color: #FFFFFF;
#footer a {
color: #FFDBD9; -
My ipod touch shut down for no reason. now when i try to turn it on again, it goes to the apple icon to the spinning wheel, then it repeats.
Try:
- iOS: Not responding or does not turn on
- Also try DFU mode after try recovery mode
How to put iPod touch / iPhone into DFU mode « Karthik's scribblings
- If not successful and you can't fully turn the iOS device fully off, let the battery fully drain. After charging for an least an hour try the above again.
- Try another cable
- Try on another computer
- If still not successful that usually indicates a hardware problem and an appointment at the Genius Bar of an Apple store is in order.
Apple Retail Store - Genius Bar -
Using cfloop to ignore repeated values - help
I have a query that joins two tables for a price comparison
site. the first table holds information about a product. the second
table holds store specific information about a product. so a
product in the first table is unique. In the second table the
product is repeated depending on how many stores stock the product.
When I go through CFoutput the product is being duplicated
which I want for certain screens but not others. I need a cfloop
that checks to see if a product title is repeated and if so, move
to the next product. without duplicating the product in cfoutput
any ideas???
thanksAdd ORDER BY product into your query then use the group
attribute in cfoutput to only display the products and not the
repeated details.
<cfquery... >
select ...
from ...
where...
ORDER BY product, ...
</cfquery>
To show only the products
<cfoutput group="product">
</cfoutput>
To show multiple records for each product
<cfoutput query="..." group="product">
<cfoutput>
</cfoutput>
</cfoutput>
OR
<cfoutput query="...">
<cfoutput> -
Hey everyone,
I have an Excel file that has 2 columns - A=date B=event. It's really long, and I was looking for ways to send this info to iCal easily. I'm pretty new to programming (mainly AS3), and this is what I've come up with:
tell application "Microsoft Excel"
repeat with i from 1 to 856
set calDate to value of (cell i of range ("A1:A" & i))
set calTitle to value of (cell i of range ("B1:B" & i)) as string
end repeat
end tell
tell application "iCal"
activate
set theCal to make new calendar at end of calendars with properties {title:"Calendar Title"}
tell theCal
set theEvent to make new event at end of events with properties {start date:calDate, summary:calTitle, allday event:true, status:confirmed}
end tell
end tell
This returns 1 event in iCal, but I need 856 events. Can I add the loopVariable to calDate & Title in some way like this so the script would store 856 calDates i could pass to iCal:
repeat with i from 1 to 856
set calDate(i) to value of (cell i of range ("A1:A" & i))
set calTitle(i) to value of (cell i of range ("B1:B" & i)) as string
end repeat
Thanks for the helpCamelot wrote:
I just don't know how to make calDate and calTitle arrays that hold all the data. suggestion?
That's trivial:
tell application "Microsoft Excel"
set calDates to value of cells of range "A1:A856"
set calTitles to value of cells of range "B1:B856"
end tell
Now you can iterate through those in iCal:
tell application "iCal"
set theCal to (make new calendar at end of calendars with properties {Title: "Old Testament"}
tell theCal
repeat with i from 1 to (count calDates)
set thisDate to item i of calDates
set thisTitle to item i of calTitles
set theEvent to make new event at end of events with properties {start date : thisDate, summary: thisTitle, allday event: true, status: confirmed}
end repeat
end tell
end tell
actually this throws an error:
iCal got an error: AppleEvent handler failed. -
I Was Really Excited About My New Phone And Now It Is Just Completely Messed Up. It Shut Itself Down After About 3 Hours Of Use And Now It Just Goes From Apple Boot Logo, To Loading Screen, To Blue Weird Screen, And Then It Goes Back To The Boot Logo. When I Plug It Into My Computer It Recognizes The Phone But It Doesnt Show Up In iTunes 11 PLEASE HELP
Can you do a Reset by holding the Sleep button and the Home button at the same time for about 20 seconds?
-
How to join each row with other in the same table without repeating, please help
Hi,
I have a table say Adjustment having following data
Emp_Id
Adjustment_id
Date
1000101
1000300
2014-02-12 00:00:00.000
1000101
1000301
2014-02-12 00:00:00.000
1000101
1000302
2014-02-12 00:00:00.000
1000101
1000303
2014-02-12 00:00:00.000
1000102
1000302
2014-02-12 00:00:00.000
1000102
1000303
2014-02-12 00:00:00.000
1000102
1000304
2014-02-12 00:00:00.000
And I want following records:
Emp_Id
Adjustment_id Adjustment_id1
Date
1000101
1000300 1000301
2014-02-12 00:00:00.000
1000101
1000300 1000302
2014-02-12 00:00:00.000
1000101
1000300
1000303
2014-02-12 00:00:00.000
1000101
1000301 1000302
2014-02-12 00:00:00.000
1000101
1000301 1000303
2014-02-12 00:00:00.000
1000101
1000302 1000303
2014-02-12 00:00:00.000
1000102
1000302 1000303
2014-02-12 00:00:00.000
1000102
1000302 1000304
2014-02-12 00:00:00.000
1000102
1000303
1000304
2014-02-12 00:00:00.000Hi Uri,
I am using SQL Server 2008, and I am trying join each adjustment_id with all other adjustment_id having same Date and Emp_id.
so for following table records:
Emp_Id
Adjustment_id
Date
1000102
1000302
2014-02-12 00:00:00
1000102
1000303
2014-02-12 00:00:00
1000102
1000304
2014-02-12 00:00:00
Output should be:
Emp_Id
Adjustment_id Adjustment_id
Date
1000102
1000302 1000303
2014-02-12 00:00:00 (first row with 2nd)
1000102
1000302 1000304
2014-02-12 00:00:00 (first row with 3rd)
1000102
1000303 1000304
2014-02-12 00:00:00 (2nd row with 3rd) -
Automated server-based multicast session won't repeat without help
When I set up an ZENWorks Imaging multicast session on a server using
ConsoleOne, the session is no longer checked after the multicast session
runs.
I manage a fairly large school envrironment, and am trying to automate the
process of setting up an unattended daily imaging session in a computer lab
using ZfD 4.01 (fully patched). Wake-on-LAN is working fine, and PXE is
working fine, but the imaging only happens if the checkbox for "Multicast
Sessions Configured for this Server" is checked. Every time it runs, the
checkbox gets UN-checked!!!! AAARRRGGGHHH!!!!
The whole point of doing this is to eliminate the need for manual
intervention! I've never seen this issue discussed anywhere, and it's
driving me nuts. Is there a place I'm overlooking where this can be
changed?
Thanks,
RogerHow would one go about doing the LDAP thing?
Thanks,
Roger
"Marcus Breiden" <[email protected]> wrote in message
news:1qk3gk7uuaq4d$.[email protected]. .
> On Mon, 08 Jan 2007 19:53:11 GMT, Roger Kresge wrote:
>
> > The whole point of doing this is to eliminate the need for manual
> > intervention! I've never seen this issue discussed anywhere, and it's
> > driving me nuts. Is there a place I'm overlooking where this can be
> > changed?
>
> nope, only option is either to use ldap or similar to set the checkbox
back
> or to get zwake from www.engl.co.uk
>
> --
>
> If you have already compiled drivers or have linux.2 please put them on
> http://forge.novell.com/modules/xfmo...ect/?zfdimgdrv
> Live BootCd and USB Disk from Mike Charles
> http://forge.novell.com/modules/xfmod/project/?imagingx
> eZie http://forge.novell.com/modules/xfmod/project/?ezie
>
> Marcus Breiden
>
> If you are asked to email me information please change -- to - in my
e-mail
> address.
> The content of this mail is my private and personal opinion.
> http://www.edu-magic.net -
Copy Instance Info - Help Niall
My form has repeating instances. In some cases the addes instance is almost exactly like a previous instance. I would like an addInstance that would add the instance with the information from this.parent.index field if that is possible.
So when clicking on add instance it would prompt the user for the line number to be copied. If that's not possible, then copying the last line entered would be the workaround.
This is the last major piece of the puzzle for this form. The add instance I'm using now looks like....
this.resolveNode('Subform3.Subform2._Subform1').addInstance(1);if (xfa.host.version < 8) {xfa.form.recalculate(1);}
Thanks -pcI actually figured the one index myself belive it or not...
I've tried to extrapolate your example on copying a line but can't get it to run...am I close? I know my subform naming is causing this to be more difficult than it is probably....and the fact that I'm not very good at this (yet) doesn't help either...here is where I am....
form1.Subform4.Button3::click - (JavaScript, client)
// set up the question, based on the current number of rows
var
vQuestion = "Select which row you want to copy. \n\nEnter a number between 1 and " + Subform3.Subform2._Subform1.count + ". \n\nClick Cancel if you do not want to copy an existing row.";
// add the new row
// '_' is shorthand for instanceManager, eg '_Row1'
Subform3.Subform2._Subform1.addInstance(
true);
// ask which row the user wants to copyvar vTarget = xfa.host.response(vQuestion, "Copy a row") - 1;
// new rowvar vNewRow = Subform3.Subform2._Subform1.count - 1;
if (vTarget >= 0 && vTarget < Subform3.Subform2._Subform1.count){
// copy the value of the dropdown in the selected row
var oItem = xfa.resolveNode("form1.Subform3.Subform2.Subform1[" + vTarget + "]").description.rawValue;
// set the value of the dropdown
xfa.resolveNode("form1.Subform3.Subform2.Subform1["+ vNewRow + "]").description.rawValue = oItem; xfa.resolveNode("form1.Subform3.Subform2.Subform1["
+ vNewRow + "]").description.execEvent("exit");}
else if (vTarget == null || vTarget == -1){
// do not copy, but also do not give audio feedback
}else{
xfa.host.beep("1");// warn the user if number is outside range
Maybe you are looking for
-
I have some spyware on my system that neither my malaware bytes, comodo antivirus, spybot search and destroy, and a few others I've tried, can detect. The piece of spyware is a browser hijacker that keeps hijacking my firefox homepage and nothing I c
-
Unable to create data source for planning via workspace
I have installed the following products in Hyperion 11.1.2 - Foundation - Essbase, EAS - Planning - Reporting & Analysis However, when I log in to Workspace (http://server:19000/workspace, I only see the following menu options under Navigate -> Admin
-
hi, We are created the PO in ME21n t.code. With ME29n released the PO. Due to some reasons we are ammending the PO. While ammending the PO ,is there any version created. After releasing the PO we are taking the print. After amending the PO also we
-
after uploading the logo in scripts, if i release the script then logo will logo along with scripts or we have to do any processes for logo Title was edited by: Alvaro Tejada Galindo
-
Will I loose any data on my phone if I update form ios 7 to 8
Will I loose any data on my phone if I update form ios 7 to 8